


So implementieren Sie eine ressourcenbasierte Zugriffskontrolle in Java JAAS
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.
Wie JAAS funktioniert
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
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.
Schritte zur Implementierung einer ressourcenbasierten Zugriffskontrolle mit JAAS
- Erstellen Sie Anmelde- und Richtlinienmodule
- Konfigurieren Sie die JAAS-Konfigurationsdatei
- Konfigurieren Sie JAAS für Ihre Anwendung
1. Anmeldemodul und Richtlinienmodul erstellen
Anmeldemodule und Richtlinienmodule können mit der api von JAAS erstellt werden. Anmeldemodule müssen die LoginModule
インターフェイスを実装する必要があります。ポリシーモジュールは、Policy
-Schnittstelle implementieren.
2. Konfigurieren Sie die JAAS-Konfigurationsdatei
DieJAAS-Konfigurationsdatei beschreibt die Einstellungen für das Anmeldemodul und das Richtlinienmodul. jaas.conf
という名前で、アプリケーションのクラスパスに配置する必要があります。jaas.conf
Um JAAS in Ihrer Anwendung zu konfigurieren, müssen Sie den Code schreiben
. 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 {
// アクセスを拒否する
}
}
}
Nach dem Login kopieren
Zusammenfassung// 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 { // アクセスを拒否する } } }
JAAS ermöglicht Ihnen die Implementierung einer ressourcenbasierten Zugriffskontrolle in Ihren Java-Anwendungen. JAAS besteht aus zwei Komponenten: einem Anmeldemodul und einem Richtlinienmodul, wobei das Anmeldemodul für die Authentifizierung von Benutzern verantwortlich ist und das Richtlinienmodul bestimmt, auf welche Ressourcen der Benutzer zugreifen kann.
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Leitfaden zur Quadratwurzel in Java. Hier diskutieren wir anhand eines Beispiels und seiner Code-Implementierung, wie Quadratwurzel in Java funktioniert.

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Armstrong-Zahl in Java. Hier besprechen wir eine Einführung in die Armstrong-Zahl in Java zusammen mit einem Teil des Codes.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist
