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; }
public static boolean hasPermissions (Configuration conf, Permissions configuration, org.apache.shiro.mgt.SecurityManager securityManager, PrincipalCollection principals, AccessLevel level, String... permissions) { if(principals != null) { PagePermission pagePermission = new PagePermission(configuration, level, permissions); return securityManager.isPermitted(principals, pagePermission); } else { //Shiro does not check permissions for non authenticated users return hasAnonymousPermissions(conf, configuration, level, permissions); } }
public static boolean hasPermissions (Configuration conf, Permissions configuration, org.apache.shiro.mgt.SecurityManager securityManager, PrincipalCollection principals, AccessLevel level, String... permissions) { if(principals != null) { PagePermission pagePermission = new PagePermission(configuration, level, permissions); return securityManager.isPermitted(principals, pagePermission); } else { //Shiro does not check permissions for non authenticated users return hasAnonymousPermissions(conf, configuration, level, permissions); } }
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; }
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 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 static boolean hasPermissions (Configuration conf, Permissions configuration, Subject subject, AccessLevel level, String... permissions) { Object principal = subject.getPrincipal(); if(principal != null) { String administratorsGroup = getAdministratorsGroup(conf); if(isUserInGroup(administratorsGroup)) { return true; } PagePermission pagePermission = new PagePermission(configuration, level, permissions); return subject.isPermitted(pagePermission); } else { //Shiro does not check permissions for non authenticated users return hasAnonymousPermissions(conf, configuration, level, permissions); } }
public static boolean hasPermissions (Configuration conf, Permissions configuration, Subject subject, AccessLevel level, String... permissions) { Object principal = subject.getPrincipal(); if(principal != null) { String administratorsGroup = getAdministratorsGroup(conf); if(isUserInGroup(administratorsGroup)) { return true; } PagePermission pagePermission = new PagePermission(configuration, level, permissions); return subject.isPermitted(pagePermission); } else { //Shiro does not check permissions for non authenticated users return hasAnonymousPermissions(conf, configuration, level, permissions); } }