Index: topia/src/java/org/codelutin/topia/security/TopiaSecurityHelper.java diff -u topia/src/java/org/codelutin/topia/security/TopiaSecurityHelper.java:1.6 topia/src/java/org/codelutin/topia/security/TopiaSecurityHelper.java:1.7 --- topia/src/java/org/codelutin/topia/security/TopiaSecurityHelper.java:1.6 Tue Jul 26 14:00:39 2005 +++ topia/src/java/org/codelutin/topia/security/TopiaSecurityHelper.java Tue Jul 26 16:55:16 2005 @@ -23,9 +23,9 @@ * Created: 15 juillet 2005 17:39:35 CEST * * @author Benjamin POUSSIN - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ * - * Last update: $Date: 2005/07/26 14:00:39 $ + * Last update: $Date: 2005/07/26 16:55:16 $ * by : $Author: thimel $ */ @@ -168,6 +168,7 @@ "contenant les groupes, aucun groupe ajouté pour" + "l'utilisateur : " + login); } + List groupPrincipals = new ArrayList(); // Parcours des groupes lus dans le fichier for (Enumeration e = groups.keys(); e.hasMoreElements();) { String key = (String) e.nextElement(); @@ -182,6 +183,29 @@ } } return principals; + } + + /** + * + * @param groups + * @param principals + * @param toFind + */ + private void searchGroups(Properties groups, List principals, String toFind) { + for (Enumeration e = groups.keys(); e.hasMoreElements();) { + String key = (String) e.nextElement(); + if (!key.equals(toFind)) { + // Récupère les utilisateurs séparés par des "," + for (StringTokenizer sTK = new StringTokenizer( + groups.getProperty(key), ","); sTK.hasMoreTokens();) { + // Si le login fait partie du groupe, on ajoute le principal associé! + if (toFind.equals(sTK.nextToken().trim())) { + principals.add(new TopiaGroupPrincipal(key)); + break; + } + } + } + } } /**