public static boolean hasAnonymousPermissions (Configuration conf, Permissions configuration, AccessLevel level, String... permissions) { PagePermission pagePermission = new PagePermission(configuration, level, permissions); List<String> groups = new ArrayList<String>(); groups.add(getAllGroup(conf)); groups.add(getAnonymousGroup(conf)); return new GroupPermission(groups).implies(pagePermission); }
public boolean implies(Permission p) { if(p instanceof GroupPermission) { GroupPermission gp = (GroupPermission) p; return gp.groups.containsAll(groups) && groups.containsAll(gp.groups); } else if(p instanceof PagePermission) { PagePermission pp = (PagePermission) p; return hasPermissions (pp.getCalculatedPermissions(), groups, pp.getAccessLevel(), pp.getPermissions()); } return false; }
/** * {@inheritDoc} * <p>This default implementation handles built-in groups (all, anonymous, registered, etc.), delegating * to loadAuthorizationInfo method the actual loading of application-specific groups.</p> * * @return */ public AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { Object principal = principals.getPrimaryPrincipal(); Set<String> groups = getGroups(principal); SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(groups); if(groups.contains(SecurityLogic.getAdministratorsGroup(portofinoConfiguration))) { info.addStringPermission("*"); } Permission permission = new GroupPermission(groups); info.setObjectPermissions(Collections.singleton(permission)); return info; }
/** * {@inheritDoc} * <p>This default implementation handles built-in groups (all, anonymous, registered, etc.), delegating * to loadAuthorizationInfo method the actual loading of application-specific groups.</p> * * @return */ public AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { Object principal = principals.getPrimaryPrincipal(); Set<String> groups = new HashSet<String>(); groups.add(SecurityLogic.getAllGroup(portofinoConfiguration)); if (principal == null) { groups.add(SecurityLogic.getAnonymousGroup(portofinoConfiguration)); } else if (principal instanceof Serializable) { groups.add(SecurityLogic.getRegisteredGroup(portofinoConfiguration)); groups.addAll(loadAuthorizationInfo((Serializable) principal)); } else { throw new AuthorizationException("Invalid principal: " + principal); } SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(groups); if(groups.contains(SecurityLogic.getAdministratorsGroup(portofinoConfiguration))) { info.addStringPermission("*"); } Permission permission = new GroupPermission(groups); info.setObjectPermissions(Collections.singleton(permission)); return info; }
public static boolean hasAnonymousPermissions (Configuration conf, Permissions configuration, AccessLevel level, String... permissions) { PagePermission pagePermission = new PagePermission(configuration, level, permissions); List<String> groups = new ArrayList<String>(); groups.add(getAllGroup(conf)); groups.add(getAnonymousGroup(conf)); return new GroupPermission(groups).implies(pagePermission); }
public boolean implies(Permission p) { if(p instanceof GroupPermission) { GroupPermission gp = (GroupPermission) p; return gp.groups.containsAll(groups) && groups.containsAll(gp.groups); } else if(p instanceof PagePermission) { PagePermission pp = (PagePermission) p; return hasPermissions (pp.getCalculatedPermissions(), groups, pp.getAccessLevel(), pp.getPermissions()); } return false; }