Bonjour!

Je suis entrain d'étudier jGuard pour la sécurité de nos applis web. J'ai installé l'exemple avec Struts et ça fonctionne très bien (Il manquait juste le jar de log4j dans le war, mais c'est peut-être normal...).

J'essaie maintenant d'intégrer la sécurité à notre architecture logicielle (JSF/POJO/Hibernate). Je veux que l'authentification passe par un registre LDAP (Active Diretory, mais pour mes tests, j'utilise OpenLDAP). La web app est déployée sur un serveur d'applications WebShpere v6.1.0.

Pour le moment, je n'ai qu'une seule question (je suis sûr que d'autres arriveront ). Puisque j'utilise un serveur LDAP pour l'authentification, j'ai configuré jGuard (jGuardFilter.xml, etc...), et mes modules de connexion dans jGuardAuthentication.xml.
Je comprends que j'ai besoin du fichier de config jGuardUsersPrincipals.xml pour définir les principals. Mais je n'ai pas besoin d'avoir les utilisateurs là dedans puisqu'ils sont dans LDAP. Est-ce que je peux simplement effacer cette partie du document? Ou au moins les mots de passe et les 'public credentials' puisque j'ai besoin du mapping des utilisateurs sur les principals.

Dans mon cas, est-ce que mon document jGuardUsersPrincipals.xml pourrait ressembler à ceci?

Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<!DOCTYPE usersPrincipals SYSTEM "jGuardUsersPrincipals_1.00.dtd"> 
<usersPrincipals> 
<principals> 
<principal> 
<name>admin</name> 
<class>net.sf.jguard.core.principals.RolePrincipal</class> 
<applicationName>isweb</applicationName> 
</principal> 
<principal> 
<name>guest</name> 
<class>net.sf.jguard.core.principals.RolePrincipal</class> 
<applicationName>isweb</applicationName> 
</principal> 
<principal> 
<name>customer</name> 
<class>net.sf.jguard.core.principals.RolePrincipal</class> 
<applicationName>anotherApplication</applicationName> 
</principal> 
</principals> 
<users> 
<userTemplate> 
<name>default</name> 
<privateRequiredCredentials> 
<credTemplateId identity="true">login</credTemplateId> 
</privateRequiredCredentials> 
<genericPrincipals> 
<principalRef name="admin" applicationName="isweb"/> 
<principalRef name="customer" applicationName="anotherApplication"/> 
</genericPrincipals> 
<specificPrincipalFactories/> 
</userTemplate> 
<user> 
<privateCredentials> 
<credential> 
<id>login</id> 
<value>admin</value> 
</credential> 
</privateCredentials> 
 
<principalsRef> 
<principalRef name="admin" applicationName="isweb" active="true"/> 
<principalRef name="customer" applicationName="anotherApplication" active="false" /> 
</principalsRef> 
</user> 
<user> 
<privateCredentials> 
<credential> 
<id>login</id> 
<value>guest</value> 
</credential> 
</privateCredentials> 
<principalsRef> 
<principalRef name="guest" applicationName="isweb" /> 
</principalsRef> 
</user> 
</users> 
</usersPrincipals>

J'ai déjà une autre question...
Comment puis-je extraire de l'info de LDAP (comme le nom de l'utilisateur, ...) et le stoquer sur le sujet (Subject), dans les 'public credentials' je devine.

Merci d'avance de votre aide!
Neil.