X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FNodeUserAdmin.java;h=19e52937eed8f1dc401578b9ebc11ee3403e7ce3;hb=d8b62960ec3c9d991840348c63dc0c8ce980233e;hp=5459a2d13cab9ab3b1d860dd98bfeecce5fb8bfc;hpb=27d9f106d83b7e747ae99bfd21cc6d3cdb60c560;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java index 5459a2d13..19e52937e 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java @@ -74,15 +74,17 @@ public class NodeUserAdmin implements UserAdmin, UserAdminAggregator { @Override public Authorization getAuthorization(User user) { UserAdmin userAdmin = findUserAdmin(user.getName()); - // FIXME clarify assumptions - return userAdmin.getAuthorization(user); - // String[] roles = auth.getRoles(); - // // Gather system roles - // Set systemRoles = new HashSet(); - // for(String businessRole:roles){ - // - // } - // return null; + Authorization rawAuthorization = userAdmin.getAuthorization(user); + // gather system roles + Set systemRoles = new HashSet(); + for (String role : rawAuthorization.getRoles()) { + Authorization auth = nodeRoles.getAuthorization((User) userAdmin + .getRole(role)); + systemRoles.addAll(Arrays.asList(auth.getRoles())); + } + return new NodeAuthorization(rawAuthorization.getName(), + rawAuthorization.toString(), systemRoles, + rawAuthorization.getRoles()); } //