|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.sandev.basics.util.AuthFilterBase
org.sandev.TaskHeap.UserLookup.AuthFilterTaskHeap
public class AuthFilterTaskHeap
An implementation of the AuthFilter interface as used for the TaskHeap application. A reader heap association has read-only access to all work except for internal plans, and read-only acces to all supporting data definitions except for resource allocationPercentages.
| Field Summary | |
|---|---|
protected org.sandev.basics.util.IDCache |
cacheRef
A reference to the IDCache we are using. |
| Fields inherited from class org.sandev.basics.util.AuthFilterBase |
|---|
ACCTYPE_CLASS, ACCTYPE_FIELD, ACCTYPE_FIELDVAL, ACCTYPE_INSTANCE |
| Fields inherited from interface org.sandev.basics.util.AuthFilter |
|---|
AUTH_ARRAYACCESS, AUTH_ARRAYADD, AUTH_ARRAYDELETE, AUTH_ARRAYMOVE, AUTH_ARRAYNEW, AUTH_NOACCESS, AUTH_READONLY, AUTH_READONLYNODISP, AUTH_UNRESTRICTED, AUTH_UNRESTRICTEDNODISP, AUTH_UNRESTRICTEDREADONLY, AUTH_VALHIDDEN |
| Constructor Summary | |
|---|---|
AuthFilterTaskHeap()
|
|
| Method Summary | |
|---|---|
int |
accAccount(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for Account access. |
int |
accDataImportExport(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for DataImportExport access. |
int |
accDataManagement(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for DataManagement access. |
protected int |
accessForAssociation(HeapAssociation assoc)
|
protected int |
accessForCurrAssoc(org.sandev.basics.util.AuthUser user)
Return the access level this user has to the identified heap. |
protected int |
accessForHeap(org.sandev.basics.util.AuthUser user,
long heapID)
Return the access level this user has to the identified heap. |
int |
accExternalPlan(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for ExternalPlan access. |
int |
accHeapAssociation(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for HeapAssociation access. |
int |
accHeapAttributes(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for HeapAttributes access. |
int |
accPlan(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for Plan access. |
int |
accPlanComponent(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for PlanComponent access. |
int |
accPlanComponentReport(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for PlanComponentReport access. |
int |
accRole(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for Role access. |
int |
accSystemStatus(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for SystemStatus access. |
int |
accTask(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for Task access. |
int |
accTaskPhase(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for TaskPhase access. |
int |
accTaskType(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
Return the level of authorization for TaskType access. |
protected org.sandev.basics.structs.SandPersistMessage |
cacheRetrieve(long uniqueID,
java.lang.String source)
Return the specified instance. |
protected void |
debug(java.lang.String text)
Log trace level and general information about what the AuthFilter is doing. |
HeapAssociation |
findAssoc(org.sandev.basics.util.AuthUser user,
long heapID)
Return the HeapAssociation the user has for the given heap, or null if not found. |
protected long[] |
getAccessibleHeaps(org.sandev.basics.util.AuthUser user)
Return an array of the heaps the given user has at least read access to. |
static long |
getAdminID()
The uniqueID of the site administrator account who is authorized for all messages. |
protected org.sandev.basics.util.IDCache |
getIDCache()
Initialize our IDCache reference if needed and return it. |
static long |
getPublicUserID()
The uniqueID of the demo user everyone initially logs in as. |
static long |
getSysStatID()
The uniqueID of the singleton SystemStatus instance used to control update access. |
boolean |
hasAdminAssoc(org.sandev.basics.util.AuthUser user,
long heapID)
Return true if the given user has admin access to the identified heap, false otherwise. |
boolean |
hasEditAssoc(org.sandev.basics.util.AuthUser user,
long heapID)
Return true if the given user has admin access to the identified heap, false otherwise. |
boolean |
hasReadAssoc(org.sandev.basics.util.AuthUser user,
long heapID)
Return true if the given user has read level or better access to the identified heap, false otherwise. |
boolean |
isAdminRestrictedClass(java.lang.String className)
If a class is restricted even for an admin user, then return true for that class name to authorize manually. |
boolean |
isAdminUser(long id)
|
boolean |
isCompletelyUnrestrictedClass(java.lang.String className)
Return true if the given class is completely unrestricted in terms of authorization. |
boolean |
isCoWorker(org.sandev.basics.util.AuthUser user,
long accID)
Return true if the given user has access to the given account via heap association. |
static boolean |
isCurrentHeapAdmin(org.sandev.basics.util.AuthUser user)
Return true if the given user is admin for their currently selected heap, false otherwise. |
protected boolean |
isLoginMessageClass(java.lang.String className)
Return true if the given message class name is required for login processing and therefore must be allowed for all users. |
protected boolean |
isSingletonInstance(org.sandev.basics.structs.SandUpdateMessage sum)
Return true if the given message is an update of a singleton class that should not be deleted or have additional instances created, even by an admin. |
org.sandev.basics.structs.SandAttrVal[] |
matchExternalPlan(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
Restrict to an accessible heap. |
org.sandev.basics.structs.SandAttrVal[] |
matchHeapAssociation(org.sandev.basics.util.AuthUser authUser,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
Restrict to their account, or to a uniqueID, email, and unnassigned account. |
org.sandev.basics.structs.SandAttrVal[] |
matchHeapAttributes(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
Heaps are accessible via a HeapAssociation which specifies the uniqueID. |
org.sandev.basics.structs.SandAttrVal[] |
matchPlan(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
Restrict to an accessible heap. |
org.sandev.basics.structs.SandAttrVal[] |
matchPlanComponent(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
Restrict to an accessible heap. |
org.sandev.basics.structs.SandAttrVal[] |
matchRole(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
Restrict to the current heap. |
org.sandev.basics.structs.SandAttrVal[] |
matchTask(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
Restrict to current heap. |
org.sandev.basics.structs.SandAttrVal[] |
matchTaskPhase(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
Restrict to current heap or global. |
org.sandev.basics.structs.SandAttrVal[] |
matchTaskType(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
Restrict to current heap or global. |
int |
tokenAccess(org.sandev.basics.util.AuthUser user,
java.lang.String token)
Only have Account and About screens until logged in. |
protected org.sandev.basics.structs.SandAttrVal[] |
verifyHeapAttrMatch(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches,
java.lang.String heapAttr)
To keep things simple, we are assuming that the givenMatches will be restricting to a single heap value or zero. |
protected void |
warn(java.lang.String text)
Log the given problem text for development reference. |
| Methods inherited from class org.sandev.basics.util.AuthFilterBase |
|---|
accAggregateUpdate, accessType, addMatch, checkAccess, debugDumpMatches, generatedFieldAccess, getBaseMsgClass, getMatchValue, getRestrictions, getSpecifiedUniqueIDs, getUserDump, hasMatch, hasSingleValueMatch, isClassNameMatch, isGeneratedField, matchRestrictions, messageClassAccess, messageFieldAccess, messageFieldValueAccess, messageInstanceAccess, shortenClassName, specifiedUniqueID, uniqueIDSpecified, verifyMatch |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.sandev.basics.util.AuthFilter |
|---|
matchRestrictions, messageClassAccess, messageFieldAccess, messageFieldValueAccess, messageInstanceAccess |
| Field Detail |
|---|
protected org.sandev.basics.util.IDCache cacheRef
| Constructor Detail |
|---|
public AuthFilterTaskHeap()
| Method Detail |
|---|
public static final long getPublicUserID()
public static final long getAdminID()
public static final long getSysStatID()
protected org.sandev.basics.util.IDCache getIDCache()
protected org.sandev.basics.structs.SandPersistMessage cacheRetrieve(long uniqueID,
java.lang.String source)
public boolean isAdminUser(long id)
isAdminUser in class org.sandev.basics.util.AuthFilterBaseprotected boolean isLoginMessageClass(java.lang.String className)
isLoginMessageClass in class org.sandev.basics.util.AuthFilterBaseprotected boolean isSingletonInstance(org.sandev.basics.structs.SandUpdateMessage sum)
isSingletonInstance in class org.sandev.basics.util.AuthFilterBaseprotected void debug(java.lang.String text)
debug in class org.sandev.basics.util.AuthFilterBaseprotected void warn(java.lang.String text)
warn in class org.sandev.basics.util.AuthFilterBase
public int tokenAccess(org.sandev.basics.util.AuthUser user,
java.lang.String token)
throws org.sandev.basics.structs.SandException
tokenAccess in interface org.sandev.basics.util.AuthFiltertokenAccess in class org.sandev.basics.util.AuthFilterBaseorg.sandev.basics.structs.SandExceptionpublic boolean isCompletelyUnrestrictedClass(java.lang.String className)
isCompletelyUnrestrictedClass in class org.sandev.basics.util.AuthFilterBasepublic boolean isAdminRestrictedClass(java.lang.String className)
isAdminRestrictedClass in class org.sandev.basics.util.AuthFilterBase
public int accAccount(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public int accSystemStatus(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public int accDataImportExport(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public int accDataManagement(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public int accHeapAssociation(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public org.sandev.basics.structs.SandAttrVal[] matchHeapAssociation(org.sandev.basics.util.AuthUser authUser,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
public int accRole(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public org.sandev.basics.structs.SandAttrVal[] matchRole(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
public int accHeapAttributes(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public org.sandev.basics.structs.SandAttrVal[] matchHeapAttributes(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
throws org.sandev.basics.util.AuthorizationException
org.sandev.basics.util.AuthorizationException
public int accPlanComponent(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public org.sandev.basics.structs.SandAttrVal[] matchPlanComponent(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
throws org.sandev.basics.util.AuthorizationException
org.sandev.basics.util.AuthorizationException
public int accExternalPlan(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public org.sandev.basics.structs.SandAttrVal[] matchExternalPlan(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
throws org.sandev.basics.util.AuthorizationException
org.sandev.basics.util.AuthorizationException
public int accPlan(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public org.sandev.basics.structs.SandAttrVal[] matchPlan(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
throws org.sandev.basics.util.AuthorizationException
org.sandev.basics.util.AuthorizationException
public int accTask(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public org.sandev.basics.structs.SandAttrVal[] matchTask(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
throws org.sandev.basics.util.AuthorizationException
org.sandev.basics.util.AuthorizationException
public int accTaskPhase(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public org.sandev.basics.structs.SandAttrVal[] matchTaskPhase(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
throws org.sandev.basics.util.AuthorizationException
org.sandev.basics.util.AuthorizationException
public int accTaskType(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public org.sandev.basics.structs.SandAttrVal[] matchTaskType(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches)
throws org.sandev.basics.util.AuthorizationException
org.sandev.basics.util.AuthorizationException
public int accPlanComponentReport(int accType,
org.sandev.basics.util.AuthUser user,
java.lang.String msgClass,
org.sandev.basics.structs.SandMessage msg,
java.lang.String fieldName)
throws org.sandev.basics.structs.SandException
org.sandev.basics.structs.SandException
public HeapAssociation findAssoc(org.sandev.basics.util.AuthUser user,
long heapID)
public boolean hasAdminAssoc(org.sandev.basics.util.AuthUser user,
long heapID)
public boolean hasEditAssoc(org.sandev.basics.util.AuthUser user,
long heapID)
public boolean hasReadAssoc(org.sandev.basics.util.AuthUser user,
long heapID)
public static boolean isCurrentHeapAdmin(org.sandev.basics.util.AuthUser user)
public boolean isCoWorker(org.sandev.basics.util.AuthUser user,
long accID)
protected int accessForHeap(org.sandev.basics.util.AuthUser user,
long heapID)
protected int accessForCurrAssoc(org.sandev.basics.util.AuthUser user)
protected int accessForAssociation(HeapAssociation assoc)
protected long[] getAccessibleHeaps(org.sandev.basics.util.AuthUser user)
protected org.sandev.basics.structs.SandAttrVal[] verifyHeapAttrMatch(org.sandev.basics.util.AuthUser user,
org.sandev.basics.structs.SandAttrVal[] givenMatches,
java.lang.String heapAttr)
throws org.sandev.basics.util.AuthorizationException
org.sandev.basics.util.AuthorizationException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||