php 小编柚子为您用绍Java JAAS中实现现于于资源的访问控方法. Durch die Kommunikation mit JAAS (Java Authentication and Authorization Service) kann offenes Personal auf die Sicherheitsquelle zugreifen und die Systemsicherheit gewährleisten. Erkunden Sie die Details des Textes und erfahren Sie, wie Sie die Fähigkeiten, tatsächlichen Ressourcen, das Ressourcenmanagement und andere wichtige Sicherheitstechnologien von JAAS nutzen können.
JAAS besteht aus zwei Komponenten: einem Anmeldemodul und einem Richtlinienmodul. Das Anmeldemodul ist für die Authentifizierung des Benutzers verantwortlich und das Richtlinienmodul bestimmt, auf welche Ressourcen der Benutzer zugreifen kann.
Ressourcenbasierte Zugriffskontrolle ist eine Methode zur Zugriffskontrolle durch Angabe der Ressourcen, auf die zugegriffen werden darf. Um eine ressourcenbasierte Zugriffskontrolle zu implementieren, müssen Sie zunächst die Ressourcen identifizieren, die Sie schützen möchten. Eine geschützte Ressource ist jede Ressource, auf die Sie den Zugriff beschränken möchten, beispielsweise eine Datei, ein Verzeichnis oder eine Datenbank.
Anmeldemodule und Richtlinienmodule können mit der api von JAAS erstellt werden. Anmeldemodule müssen die LoginModule
インターフェイスを実装する必要があります。ポリシーモジュールは、Policy
-Schnittstelle implementieren.
JAAS-Konfigurationsdatei beschreibt die Einstellungen für das Anmeldemodul und das Richtlinienmodul. jaas.conf
という名前で、アプリケーションのクラスパスに配置する必要があります。jaas.conf
. Dieser Code gibt den Speicherort der JAAS-Konfigurationsdatei an. System.setProperty("java.security.auth.login.config", "jaas.conf")
// 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 { // アクセスを拒否する } } }
In diesem Artikel haben wir die Schritte und den Democode zur Implementierung einer ressourcenbasierten Zugriffskontrolle mit JAAS erklärt.
>Sehen Sie sich die hochrangigen Studien/Techniken für das letzte Jahr/2018/2019 an. target="_blank">Erwarten Sie die Kosten >>>
Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine ressourcenbasierte Zugriffskontrolle in Java JAAS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!