Configuration d'un module de connexion personnalisé JAAS pour Liberty

Vous pouvez configurer un module de connexion JAAS (Java™ Authentication and Authorization Service) personnalisé avant ou après avoir configuré le module de connexion du serveur Liberty.

Avant de commencer

Nous prenons en charge le fichier server.xml, le fichier client.xml et le fichier de configuration JAAS pour la configuration JAAS. Toutefois, il est recommandé de configurer le module de connexion personnalisé JAAS dans le fichier server.xml ou le fichier client.xml. Pour plus d'informations sur la configuration du fichier de configuration JAAS, voir Configuration d'un module de connexion et d'entrée de contexte de connexion personnalisé JAAS d'application à l'aide d'un fichier de configuration JAAS pour Liberty.

Assurez-vous de disposer d'un fichier JAR contenant le module de connexion JAAS personnalisé qui implémente l'interface javax.security.auth.spi.LoginModule, comme décrit dans Développement de modules de connexion JAAS personnalisés pour une configuration de connexion système. Dans cette rubrique, le module de connexion personnalisé JAAS utilise une table de hachage, des rappels ou des variables d'état partagé fournis par le serveur Liberty pour transmettre les données d'authentification au module de connexion du système.

Pourquoi et quand exécuter cette tâche

L'utilisation d'un module de connexion personnalisé permet de prendre des décisions d'authentification supplémentaires ou d'ajouter des informations au sujet afin de prendre des décisions d'autorisation plus fines à l'intérieur même de votre application. Voir Configuration JAASet Modules de connexion JAAS pour une présentation plus détaillée.

Pour plateformes répartiesVous pouvez aussi utiliser les outils de développement pour configurer un module de connexion JAAS personnalisé. Pour plateformes réparties Voir Configuration du service JAAS sous Liberty avec les outils de développement. Le site Web WASdev.net propose plusieurs exemples de configuration de sécurité pour votre référence lorsque vous configurez la sécurité pour vos applications dans Liberty. Voir Configuration du service JAAS sous Liberty avec les outils de développement.

Pour configurer un module de connexion personnalisé JAAS, procédez comme suit :

Procédure

  1. Activez la fonction Liberty appSecurity-2.0 dans le fichier server.xml.
    <featureManager>
        <feature>appSecurity-2.0</feature>
    </featureManager>
  2. Créez une classe com.sample.CustomLoginModule qui implémente l'interface LoginModule et conditionnez-la dans le fichier CustomLoginModule.jar.
  3. Créez un élément <library> incorporant un élément <fileset> indiquant où se trouve le fichier CustomLoginModule.jar. Dans cet exemple, l'id de la bibliothèque est customLoginLib.
    <library id="customLoginLib">
        <fileset dir="${server.config.dir}" includes="CustomLoginModule.jar"/>
    </library> 
  4. Créez un élément <jaasLoginModule>. Dans cet exemple, l'id du module a pour valeur custom.
    1. Configurez le module de connexion personnalisé de manière à exiger une authentification réussie en associant l'attribut controlFlag à la valeur REQUIRED.
    2. Associez l'attribut libraryRef à la valeur customLoginLib, c'est-à-dire l'id de l'élément <library> configuré à l'étape précédente. Ce module de connexion a également deux options : UserRegistry, dont la valeur est ldap, et mapToUser, dont la valeur est user1.
    <jaasLoginModule id="myCustom" 
                     className="com.sample.CustomLoginModule" 
                     controlFlag="REQUIRED" libraryRef="customLoginLib">
        <options myOption1="value1" myOption2="value2"/>
    </jaasLoginModule>
  5. Créez un élément <jaasLogincontextEntry> avec des attributs id et un élément name unique désignant tous les deux la configuration JAAS définie par le système : system.WEB_INBOUND. Vous pouvez également spécifier system.DEFAULT, WSLogin, ou votre propre configuration JAAS. Dans la liste de valeurs de l'attribut loginModuleRef, ajoutez custom, c'est-à-dire l'id de l'élément jaasLoginModule créé à l'étape précédente. En plaçant cet id en premier dans la liste de valeurs, vous faites en sorte que le module de connexion JAAS "custom" soit le premier à être appelé. Vous devez aussi répertorier les autres modules de connexion par défaut : hashtable, userNameAndPassword, certificate et token.
    <jaasLoginContextEntry id="system.WEB_INBOUND" name="system.WEB_INBOUND" 
                     loginModuleRef="myCustom, hashtable, userNameAndPassword, certificate, token"  />
    Remarque : Le nom d'option ne doit pas commencer par un point (.), config. ou par service et il doit être unique. Par ailleurs, le nom de propriété id ou ID n'est pas autorisé.

    Pour plus d'informations sur les éléments <jaasLoginContextEntry>, <jaasLoginModule>, <options> et <library>, voir Application Security 2.0.


Icône indiquant le type de rubrique Rubrique Tâche



Icône d'horodatage Dernière mise à jour: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_sec_jaas
Nom du fichier : twlp_sec_jaas.html