Index: topia-security/src/java/org/codelutin/topia/security/jaas/TopiaPolicy.java diff -u topia-security/src/java/org/codelutin/topia/security/jaas/TopiaPolicy.java:1.8 topia-security/src/java/org/codelutin/topia/security/jaas/TopiaPolicy.java:1.9 --- topia-security/src/java/org/codelutin/topia/security/jaas/TopiaPolicy.java:1.8 Thu Oct 5 07:49:44 2006 +++ topia-security/src/java/org/codelutin/topia/security/jaas/TopiaPolicy.java Fri Oct 6 09:08:34 2006 @@ -24,9 +24,9 @@ * Created: 17 févr. 2006 * * @author Arnaud Thimel - * @version $Revision: 1.8 $ + * @version $Revision: 1.9 $ * - * Mise a jour: $Date: 2006/10/05 07:49:44 $ + * Mise a jour: $Date: 2006/10/06 09:08:34 $ * par : $Author: ruchaud $ */ @@ -104,17 +104,15 @@ for (Principal principal : subject.getPrincipals()) { String principalName = principal.getName(); Set permissions = securityManagerImpl.getPermissionsCache(principalName); - if(permissions != null) { - for (Permission permission : permissions) { - pc.add(permission); - } - } else { + if(permissions == null) { try { - securityManagerImpl.putPermissionsCache(principalName); + permissions = securityManagerImpl.putPermissionsCache(principalName); } catch (TopiaException e) { log.error("Récupération des TopiaPermission impossible", e); } - + } + for (Permission permission : permissions) { + pc.add(permission); } } } else {