X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.enterprise%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FAggregatingUserAdmin.java;h=d2054416bba2703e1a1a4aeebff261da9d87beee;hb=77935b7e3c0cb16a295af7059ed48ed1b916de2d;hp=860c5efc913f98afcfa06a8bf0efd989c5154152;hpb=e66b9893b0e511f8ab295e3cee42b7dc966f1597;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AggregatingUserAdmin.java b/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AggregatingUserAdmin.java index 860c5efc9..d2054416b 100644 --- a/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AggregatingUserAdmin.java +++ b/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AggregatingUserAdmin.java @@ -90,11 +90,20 @@ public class AggregatingUserAdmin implements UserAdmin { Authorization auth = systemRoles.getAuthorization((User) userAdmin.getRole(role)); sysRoles.addAll(Arrays.asList(auth.getRoles())); } + addAbstractSystemRoles(rawAuthorization, sysRoles); Authorization authorization = new AggregatingAuthorization(rawAuthorization.getName(), rawAuthorization.toString(), sysRoles, rawAuthorization.getRoles()); return authorization; } + /** + * Enrich with application-specific roles which are strictly programmatic, such + * as anonymous/user semantics. + */ + protected void addAbstractSystemRoles(Authorization rawAuthorization, Set sysRoles) { + + } + // // USER ADMIN AGGREGATOR // @@ -118,7 +127,8 @@ public class AggregatingUserAdmin implements UserAdmin { private UserAdmin findUserAdmin(String name) { try { - return findUserAdmin(new LdapName(name)); + UserAdmin userAdmin = findUserAdmin(new LdapName(name)); + return userAdmin; } catch (InvalidNameException e) { throw new UserDirectoryException("Badly formatted name " + name, e); } @@ -180,10 +190,10 @@ public class AggregatingUserAdmin implements UserAdmin { } /** - * Called before each user directory is destroyed, so that additional - * actions can be performed. + * Called before each user directory is destroyed, so that additional actions + * can be performed. */ - protected void preDestroy(UserDirectory userDirectory) { + protected void preDestroy(AbstractUserDirectory userDirectory) { } }