public class PermissionHeuristic extends Object
this takes a permissions assignment (PermissionEntry), and gives it a score so you can find the best entry, even if it is a tie, to decide if allow or deny. Max depth resource: 30 (configurable in grouper.properties) (864000) person/role assignment (432000) direct role assignment (14400 * 30) (14400) role assignment with role depth 29 (7200) assignment to user as opposed to group (3600) direct resource assignment (120*30) (120) indirect direct resource assignment depth 29 (60) direct action assignment (2*30) (58) action depth 1 (56) action depth 2 (54) action depth 3 (2) action depth 29 (1) allow
| Modifier and Type | Class and Description |
|---|---|
static class |
PermissionHeuristic.PermissionHeuristicType
which type of heuristic (not including depth)
|
| Constructor and Description |
|---|
PermissionHeuristic() |
| Modifier and Type | Method and Description |
|---|---|
static List<PermissionHeuristic.PermissionHeuristicType> |
allTypesOrdered()
get all types ordered by most important
|
static String |
collectionToString(Collection<PermissionHeuristic> permissionHeuristics)
convert a collection to string
|
static PermissionHeuristics |
computeHeuristics(long score)
computer heuristics
|
static long |
computePermissionHeuristic(PermissionEntry permissionEntry)
compute a heuristic based on how important the aspects of the permissionEntry are
see the class javadoc for more info
|
boolean |
equals(Object obj) |
int |
getDepth()
if this is a heuristic which has depth, then this is it, or -1
|
PermissionHeuristic.PermissionHeuristicType |
getPermissionHeuristicType()
type of heuristic
|
int |
hashCode() |
void |
setDepth(int depth1)
if this is a heuristic which has depth, then this is it, or -1
|
void |
setPermissionHeuristicType(PermissionHeuristic.PermissionHeuristicType permissionHeuristicType1)
type of heuristic
|
String |
toString() |
public PermissionHeuristic.PermissionHeuristicType getPermissionHeuristicType()
public void setPermissionHeuristicType(PermissionHeuristic.PermissionHeuristicType permissionHeuristicType1)
permissionHeuristicType1 - public boolean equals(Object obj)
equals in class ObjectObject.equals(Object)public int hashCode()
hashCode in class ObjectObject.hashCode()public int getDepth()
public void setDepth(int depth1)
depth1 - public static List<PermissionHeuristic.PermissionHeuristicType> allTypesOrdered()
public static PermissionHeuristics computeHeuristics(long score)
score - public static long computePermissionHeuristic(PermissionEntry permissionEntry)
permissionEntry - public String toString()
toString in class ObjectObject.toString()public static String collectionToString(Collection<PermissionHeuristic> permissionHeuristics)
permissionHeuristics - Copyright © 2016 Internet2. All rights reserved.