Rumah  >  Artikel  >  Java  >  Cara melaksanakan kawalan akses berasaskan sumber dengan Java JAAS

Cara melaksanakan kawalan akses berasaskan sumber dengan Java JAAS

王林
王林ke hadapan
2024-02-23 21:58:30518semak imbas

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 {
// アクセスを拒否する
}
}
}

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!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam