18.4. Utilisation de SSO (Single Sign On) pour les applications web
Les fonctionnalités SSO (Single Sign On) sont fournies par les sous-systèmes web et Infinispan. Utilisez cette procédure pour configurer SSO dans les applications web.
Conditions préalables
- Vous devez avoir un domaine de sécurité configuré qui gère les authentifications et l'accès.
- Le sous-système
infinispan. Présent, par défaut, dans tous les profils de domaines gérés ou de serveurs autonomes. - Le
webcache-conteneuret le cache-répliqué SSO. Les fichiers de configurations initiaux contiennent déjà le cache-conteneurweb, et certaines des configurations contiennent déjà le cache-répliqué SSO également. Utilisez les commandes suivantes pour vérifier et activer le cache répliqué SSO. Notez que ces commandes modifient le profilhad'un domaine géré. Vous pouvez modifier les commandes pour utiliser un profil différent, ou supprimer la portion/profile=hade la commande, pour un serveur autonome.Exemple 18.1. Vérifier le cache-conteneur
webLes profils et les configurations mentionnées ci-dessus incluent le cache-conteneurwebpar défaut. Utilisez la commande suivante pour vérifier sa présence. Si vous utilisez un profil différent, remplacez par son nom à la place deha./profile=ha/subsystem=infinispan/cache-container=web/:read-resource(recursive=false,proxies=false,include-runtime=false,include-defaults=true)Si le résultat affiche unsuccess, le sous-système sera présent. Sinon, vous devrez l'ajouter.Exemple 18.2. Ajouter le cache-conteneur
webUtilisez les trois commandes suivantes pour activer le cache-conteneurwebà votre configuration. Modifiez le nom du profil selon le cas, ainsi que les autres paramètres. Ici, les paramètres sont ceux utilisés dans une configuration par défaut./profile=ha/subsystem=infinispan/cache-container=web:add(aliases=["standard-session-cache"],default-cache="repl",module="org.jboss.as.clustering.web.infinispan")/profile=ha/subsystem=infinispan/cache-container=web/transport=TRANSPORT:add(lock-timeout=60000)/profile=ha/subsystem=infinispan/cache-container=web/replicated-cache=repl:add(mode="ASYNC",batching=true)Exemple 18.3. Vérifier le cache-répliqué
SSOÉxécutez la commande de Management CLI suivante :/profile=ha/subsystem=infinispan/cache-container=web/:read-resource(recursive=true,proxies=false,include-runtime=false,include-defaults=true)Cherchez une sortie qui ressemble à ceci :"sso" => {Si vous ne la trouvez pas, le cache-répliqué SSO ne sera pas présent dans votre configuration.Exemple 18.4. Ajouter le cache-répliqué
SSO/profile=ha/subsystem=infinispan/cache-container=web/replicated-cache=sso:add(mode="SYNC", batching=true)
web doit être configuré pour utiliser SSO. La commande suivante active SSO sur le serveur virtuel appelé default-host et le domaine de cookies domaine.com. Le nom de cache est sso, et une nouvelle authentification est désactivée.
/profile=ha/subsystem=web/virtual-server=default-host/sso=configuration:add(cache-container="web",cache-name="sso",reauthenticate="false",domain="domain.com")
jboss-web.xml et le même Realm dans son fichier de configuration web.xml.
Configurer sso sous le sous-système web dans le profil utilisateur. La version ClusteredSingleSignOn est utilisée quand l'attribut cache-container est présent, sinon la classe SingleSignOn sera utilisée.
Exemple 18.5. Exemple de configuration SSO non clusterisée
/subsystem=web/virtual-server=default-host/sso=configuration:add(reauthenticate="false")
Une application peut rendre invalide une session en invoquant la méthode javax.servlet.http.HttpSession.invalidate().