Rumah > Java > javaTutorial > teks badan

Cara melaksanakan kawalan akses berasaskan sumber dengan Java JAAS

王林
Lepaskan: 2024-02-23 21:58:30
ke hadapan
451 orang telah melayarinya

Java JAASでリソースベースのアクセス制御を実装する方法

php 小编柚子为您用绍Java JAAS中实现现于于资源的访问控方法. Berkomunikasi JAAS (Java Authentication and Authorization Service), kakitangan terbuka boleh mengakses sumber keselamatan, menjamin keselamatan sistem. Terokai butiran teks dan pelajari cara menggunakan keupayaan JAAS, sumber sebenar, pengurusan sumber dan teknologi keselamatan penting yang lain.

Cara JAAS berfungsi

JAAS terdiri daripada dua komponen: modul log masuk dan modul dasar. Modul log masuk bertanggungjawab untuk mengesahkan pengguna, dan modul dasar menentukan sumber yang boleh diakses oleh pengguna.

Kawalan akses berasaskan sumber

Kawalan capaian berasaskan sumber ialah kaedah mengawal capaian dengan menyatakan sumber yang dibenarkan untuk diakses. Untuk melaksanakan kawalan akses berasaskan sumber, anda mesti mengenal pasti sumber yang ingin anda lindungi terlebih dahulu. Sumber yang dilindungi ialah sebarang sumber yang anda ingin hadkan akses, seperti fail, direktori atau pangkalan data.

Langkah untuk melaksanakan kawalan akses berasaskan sumber dengan JAAS

  1. Buat modul log masuk dan dasar
  2. Konfigurasikan fail konfigurasi JAAS
  3. Konfigurasikan JAAS untuk aplikasi anda

1 Buat modul log masuk dan modul dasar

Modul log masuk dan modul dasar boleh dibuat menggunakan api JAAS. Modul log masuk mesti melaksanakan antara muka LoginModuleインターフェイスを実装する必要があります。ポリシーモジュールは、Policy.

2 Konfigurasikan fail konfigurasi JAAS

Fail konfigurasi

JAAS menerangkan tetapan untuk modul log masuk dan modul dasar. jaas.confという名前で、アプリケーションのクラスパスに配置する必要があります。jaas.conf

3 Konfigurasikan JAAS dalam aplikasi anda

Untuk mengkonfigurasi JAAS dalam aplikasi anda, anda perlu menulis kod

. Kod ini menentukan lokasi fail konfigurasi JAAS. System.setProperty("java.security.auth.login.config", "jaas.conf")

Kod demo

// LoginModuleを実装したクラス
public class MyLoginModule implements LoginModule {

// 認証を行うメソッド
@Override
public boolean login() {
// 認証ロジックを記述
return true;
}

// 認可を行うメソッド
@Override
public boolean commit() {
// 認可ロジックを記述
return true;
}

// ログインモジュールを破棄するメソッド
@Override
public boolean abort() {
return true;
}

// ログインモジュールを初期化するメソッド
@Override
public boolean initialize(Subject subject, CallbackHandler callbackHandler, Map<String, ?> sharedState, Map<String, ?> options) {
return true;
}

// ログインモジュールを破棄する前に呼ばれるメソッド
@Override
public void loGout() {
}
}

// Policyを実装したクラス
public class MyPolicy implements Policy {

// 認可を行うメソッド
@Override
public boolean implies(Subject subject, PermissionCollection permissionCollection) {
// 認可ロジックを記述
return true;
}

// ポリシーを破棄するメソッド
@Override
public void refresh() {
}
}

// JAASの設定ファイル(jaas.conf)
MyLoginModule {
username="user1";
passWord="password1";
};

MyPolicy {
codeBase="file:/tmp/MyApp.jar";
permission java.io.FilePermission "/tmp/*", "read";
};

// アプリケーションのコード
public class MyApplication {

public static void main(String[] args) {
// JAASの設定を行う
System.setProperty("java.security.auth.login.config", "jaas.conf");

// ログインを行う
LoginContext lc = new LoginContext("MyLoginModule");
lc.login();

// 認可を行う
Policy policy = Policy.getPolicy("MyPolicy");
PermissionCollection permissionCollection = new PermissionCollection();
permissionCollection.add(new FilePermission("/tmp/*", "read"));
boolean implies = policy.implies(lc.getSubject(), permissionCollection);

// アクセスを許可するかどうかの判断
if (implies) {
// アクセスを許可する
} else {
// アクセスを拒否する
}
}
}
Salin selepas log masuk

Ringkasan

JAAS membolehkan anda melaksanakan kawalan akses berasaskan sumber dalam aplikasi Java anda. JAAS terdiri daripada dua komponen: modul log masuk dan modul dasar, di mana modul log masuk bertanggungjawab untuk mengesahkan pengguna, dan modul dasar menentukan sumber yang boleh diakses oleh pengguna.

Dalam artikel ini, kami menerangkan langkah dan kod demo untuk melaksanakan kawalan akses berasaskan sumber dengan JAAS.

>Lihatlah pengajian/teknik peringkat tinggi untuk tahun lepas/2018/2019 target="_blank">Jangkakan kos >>>

Atas ialah kandungan terperinci Cara melaksanakan kawalan akses berasaskan sumber dengan Java JAAS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!