php 小编柚子为您用绍Java JAAS中实现现于于资源的访问控方法. Communiquez JAAS (Java Authentication and Authorization Service), le personnel ouvert peut accéder à la source de sécurité, garantir la sécurité du système. Explorez les détails du texte et apprenez à utiliser les capacités, les ressources réelles, la gestion des ressources et d'autres technologies de sécurité importantes de JAAS.
JAAS se compose de deux composants : un module de connexion et un module de politique. Le module de connexion est responsable de l'authentification de l'utilisateur et le module de stratégie détermine les ressources auxquelles l'utilisateur peut accéder.
Le contrôle d'accès basé sur les ressources est une méthode de contrôle d'accès en spécifiant les ressources auxquelles l'accès est autorisé. Pour mettre en œuvre un contrôle d'accès basé sur les ressources, vous devez d'abord identifier les ressources que vous souhaitez protéger. Une ressource protégée est toute ressource à laquelle vous souhaitez restreindre l'accès, comme un fichier, un répertoire ou une base de données.
Les modules de connexion et les modules de politique peuvent être créés à l'aide de l'api de JAAS. Les modules de connexion doivent implémenter l'interface LoginModule
インターフェイスを実装する必要があります。ポリシーモジュールは、Policy
.
JAAS décrit les paramètres du module de connexion et du module de stratégie. jaas.conf
という名前で、アプリケーションのクラスパスに配置する必要があります。jaas.conf
. Ce code spécifie l'emplacement du fichier de configuration JAAS. 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 { // アクセスを拒否する } } }
Dans cet article, nous avons expliqué les étapes et le code de démonstration pour implémenter le contrôle d'accès basé sur les ressources avec JAAS.
>Jetez un œil aux études/techniques de haut niveau de la dernière année/2018/2019 target="_blank">Attendez-vous au coût >>>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!