Index: topia-service/src/java/org/codelutin/topia/taas/jaas/TaasPolicy.java diff -u topia-service/src/java/org/codelutin/topia/taas/jaas/TaasPolicy.java:1.4 topia-service/src/java/org/codelutin/topia/taas/jaas/TaasPolicy.java:1.5 --- topia-service/src/java/org/codelutin/topia/taas/jaas/TaasPolicy.java:1.4 Fri Dec 21 17:01:14 2007 +++ topia-service/src/java/org/codelutin/topia/taas/jaas/TaasPolicy.java Fri Dec 21 17:26:45 2007 @@ -24,9 +24,9 @@ * Created: 17 févr. 2006 * * @author Arnaud Thimel - * @version $Revision: 1.4 $ + * @version $Revision: 1.5 $ * - * Mise a jour: $Date: 2007-12-21 17:01:14 $ + * Mise a jour: $Date: 2007-12-21 17:26:45 $ * par : $Author: ruchaud $ */ @@ -102,13 +102,15 @@ Subject subject = taasService.getSubject(); if (subject != null) { for (Principal principal : subject.getPrincipals()) { - TaasPrincipalWrapper principalWrapper = (TaasPrincipalWrapper) principal; - PermissionCollection permissions = principalWrapper.getPermissions(); - - Enumeration enumeration = permissions.elements(); - while(enumeration.hasMoreElements()){ - Permission permission = (Permission)enumeration.nextElement(); - pc.add(permission); + if(principal instanceof TaasPrincipalWrapper) { + TaasPrincipalWrapper principalWrapper = (TaasPrincipalWrapper) principal; + PermissionCollection permissions = principalWrapper.getPermissions(); + + Enumeration enumeration = permissions.elements(); + while(enumeration.hasMoreElements()){ + Permission permission = (Permission)enumeration.nextElement(); + pc.add(permission); + } } } } else {