Vous pouvez définir une configuration JAAS (system.WEB_INBOUND) avec un module de connexion personnalisé
pour Liberty en éditant la configuration. Il n'est pas nécessaire de configurer JAAS sauf si vous voulez le personnaliser.
Avant de commencer
Pour une description du processus sous-jacent de configuration d'un serveur et
des informations détaillées sur certains aspects spécifiques d'une telle
configuration, consultez la rubrique Administration manuelle de Liberty.
Eviter les incidents : Pour créer
la référence à un module de connexion JAAS, les outils de développement
utilisent l'élément loginModuleRef.
Vous devez changer cette référence et utiliser à la place l'attribut loginModuleRef
de l'élément jaasLoginContextEntry. 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.
Procédure
- Sélectionnez Entrée du contexte de connexion JAAS et
cliquez sur Ajouter, puis entrez les noms des modules de connexion. Dans cet exemple, le module de connexion personnalisé myCustom est
ajouté au début du processus de connexion. Les modules de connexion fournis par le système (hashtable, userNameAndPassword, certificate, token)
sont requis.
- Sélectionnez Module de connexion JAAS : myCustom et configurez votre module de connexion personnalisé en entrant
l'ID et le nom de classe, puis cliquez sur la flèche à côté du bouton Ajouter et
sélectionnez Elément global afin d'entrer les informations concernant la bibliothèque partagée. Dans cet exemple, l'ID qui correspond au nom de votre module de connexion personnalisé est myCustom.
- Entrez l'ID de la bibliothèque partagée dans la fenêtre en incrustation et cliquez sur OK. Dans cet exemple, l'ID correspond au nom de la bibliothèque partagée,
customLoginLib.
- Configurez les zones Nom et Description pour la bibliothèque partagée, puis cliquez sur la flèche à côté
du bouton Ajouter et sélectionnez Elément enfant pour ajouter une référence
d'ensemble de fichiers en tant qu'élément enfant.
- Configurez l'ensemble de fichiers. Cliquez sur Parcourir dans la zone Répertoire de base et sélectionnez le répertoire dans lequel le
fichier JAR se trouve. Ensuite, cliquez sur Parcourir dans la zone Masque d'inclusions afin de sélectionner
le fichier JAR qui contient votre implémentation de module de connexion personnalisé. Dans cet exemple, le fichier JAR d'implémentation du module de connexion personnalisé est
CustomLoginModule.jar et il se trouve dans le répertoire ${server.config.dir}.
- Facultatif : Si votre module de connexion personnalisé a besoin d'options,
vous pouvez cliquer avec le bouton droit de la souris sur l'entrée Module de connexion JAAS, dans la structure de la configuration,
puis sélectionner Ajouter et Options du module de connexion.
- Sauvegardez la configuration. La section de configuration suivante doit à présent
figurer dans le fichier server.xml.
<jaasLoginContextEntry name="system.WEB_INBOUND" id="system.WEB_INBOUND">
<loginModuleRef>myCustom, hashtable, userNameAndPassword, certificate, token</loginModuleRef>
</jaasLoginContextEntry>
<jaasLoginModule className="com.sample.CustomLoginModule"
id="myCustom" libraryRef="customLoginLib">
</jaasLoginModule>
<library id="customLoginLib" name="customLoginLib"
description="Custom login module shared library">
<fileset dir="${server.config.dir}" includes="CustomLoginModule.jar"/>
</library>
- Etape indispensable : Pour que la configuration fonctionne, vous
devez modifier l'élément jaasLoginContextEntry afin d'y inclure l'attribut loginModuleRef. Vous devez supprimer l'élément loginModuleRef et l'ajouter en tant qu'attribut
à l'élément jaasLoginContextEntry.
Voici à quoi doit ressembler votre configuration une fois cette modification
effectuée :
<jaasLoginContextEntry name="system.WEB_INBOUND" id="system.WEB_INBOUND"
loginModuleRef="myCustom, hashtable, userNameAndPassword, certificate, token" />
<jaasLoginModule className="com.sample.CustomLoginModule"
id="myCustom" libraryRef="customLoginLib">
</jaasLoginModule>
<library id="customLoginLib" name="customLoginLib"
description="Custom login module shared library">
<fileset dir="${server.config.dir}" includes="CustomLoginModule.jar"/>
</library>