Salut,
Est-ce que vous savez s'il existe un version de l'agent OpenAM compatible avec JBoss EAP 6 / AS 7 ? Et si oui, où est-ce qu'on peut la trouver ?
Merci d'avance
Salut,
Est-ce que vous savez s'il existe un version de l'agent OpenAM compatible avec JBoss EAP 6 / AS 7 ? Et si oui, où est-ce qu'on peut la trouver ?
Merci d'avance
Je pense finalement avoir répondu à ma question... Après d'innombrables recherches je n'ai trouvé aucun agent existant pour JBoss AS 7 à l'heure actuelle.
Donc pour pouvoir malgré tout lier une instance JBoss AS 7 à OpenAM, il a fallu configurer manuellement l'instance. Pour ce faire, je suis parti de l'agent jboss_v42_agent.zip disponible sur le site de forgerock. A partir des fichiers présents dans cet agent, j'ai construit un module pour JBoss AS 7. En gros, mon module inclut les fichiers agent.jar, openssoclient.jar ainsi que les fichiers de configuration (notamment OpenSSOAgentBootstrap.properties). J'ai alors créé le descripteur de module (module.xml) suivant:
Au niveau de la config de mon instance (fichier standalone.xml), j'ai ajouté un <security-domain> du style:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.1" name="openam.agents"> <resources> <resource-root path="agent.jar"/> <resource-root path="openssoclientsdk.jar"/> <resource-root path="."/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.servlet.api" /> <module name="org.picketbox"/> </dependencies> </module>
Au niveau des applications que je souhaite déployer sur mon instance, j'ai encore dû modifier quelques fichiers:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <security-domain name="AMRealm" cache-type="default"> <authentication> <login-module code="com.sun.identity.agents.jboss.v40.AmJBossLoginModule" flag="required"> <module-option name="unauthenticatedIdentity" value="anonymous"/> </login-module> <login-module code="org.jboss.security.ClientLoginModule" flag="required"> <module-option name="restore-login-identity" value="true"/> </login-module> </authentication> </security-domain>
web.xml: ajout d'un <filter> et d'un <filter-mapping>:
jboss-web.xml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <filter> <filter-name>Agent</filter-name> <display-name>Agent</display-name> <description>OpenAM Tomcat Policy Agent Filter</description> <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class> </filter> <filter-mapping> <filter-name>Agent</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping>
MANIFEST.MF: Ajout d'une ligne "Dependencies: openam.agents", où openam.agents est le nom du module que j'ai créé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?xml version="1.0" encoding="UTF-8"?> <jboss-web> <security-domain>AMRealm</security-domain> </jboss-web>
J'ai également déployé agentapp.war après y avoir modifié le fichier MANIFEST.MF comme décrit ci-dessus.
Ce n'est certainement pas la manière la plus propre de lier JBoss AS7 et OpenAM, mais ça semble bien fonctionner, en attendant qu'une version officielle de l'agent n'apparaisse.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager