


Comment implémenter le contrôle d'accès basé sur les ressources dans Java JAAS
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.
Comment fonctionne 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.
Contrôle d'accès basé sur les ressources
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.
Étapes pour mettre en œuvre un contrôle d'accès basé sur les ressources avec JAAS
- Créer des modules de connexion et de politique
- Configurer le fichier de configuration JAAS
- Configurez JAAS pour votre application
1. Créer un module de connexion et un module de politique
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
.
2. Configurez le fichier de configuration JAAS
Le fichier de configurationJAAS décrit les paramètres du module de connexion et du module de stratégie. jaas.conf
という名前で、アプリケーションのクラスパスに配置する必要があります。jaas.conf
Pour configurer JAAS dans votre application, vous devez écrire le code
. 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 {
// アクセスを拒否する
}
}
}
Copier après la connexion
Résumé// 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 vous permet d'implémenter un contrôle d'accès basé sur les ressources dans vos applications Java. JAAS se compose de deux composants : un module de connexion et un module de stratégie, où le module de connexion est responsable de l'authentification des utilisateurs, et le module de stratégie détermine les ressources auxquelles l'utilisateur peut accéder.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

Spring Boot simplifie la création d'applications Java robustes, évolutives et prêtes à la production, révolutionnant le développement de Java. Son approche "Convention sur la configuration", inhérente à l'écosystème de ressort, minimise la configuration manuelle, allo
