|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.internet2.middleware.grouper.privs.AccessResolverDecorator
edu.internet2.middleware.grouper.privs.CachingAccessResolver
public class CachingAccessResolver
Decorator that provides caching for AccessResolver
.
Field Summary | |
---|---|
static java.lang.String |
CACHE_HASPRIV
|
Constructor Summary | |
---|---|
CachingAccessResolver(AccessResolver resolver)
|
Method Summary | |
---|---|
void |
flushCache()
flush cache if caching resolver |
GrouperSession |
getGrouperSession()
get a reference to the session |
java.util.Set<AccessPrivilege> |
getPrivileges(Group group,
edu.internet2.middleware.subject.Subject subject)
Get all privileges subject has on group. |
CacheStats |
getStats(java.lang.String cache)
|
void |
grantPrivilege(Group group,
edu.internet2.middleware.subject.Subject subject,
Privilege privilege,
java.lang.String uuid)
Grant privilege to subject on group. |
boolean |
hasPrivilege(Group group,
edu.internet2.middleware.subject.Subject subject,
Privilege privilege)
Check whether subject has privilege on group. |
boolean |
hqlFilterGroupsNotWithPrivWhereClause(edu.internet2.middleware.subject.Subject subject,
HqlQuery hqlQuery,
java.lang.StringBuilder hql,
java.lang.String groupColumn,
Privilege privilege,
boolean considerAllSubject)
for a group query, check to make sure the subject cant see the records |
boolean |
hqlFilterGroupsWhereClause(edu.internet2.middleware.subject.Subject subject,
HqlQuery hqlQuery,
java.lang.StringBuilder hql,
java.lang.String groupColumn,
java.util.Set<Privilege> privInSet)
for a group query, check to make sure the subject can see the records (if filtering HQL, you can do the postHqlFilterGroups instead if you like) |
java.util.Set<Group> |
postHqlFilterGroups(java.util.Set<Group> groups,
edu.internet2.middleware.subject.Subject subject,
java.util.Set<Privilege> privInSet)
after HQL is run, filter groups. |
java.util.Set<Membership> |
postHqlFilterMemberships(edu.internet2.middleware.subject.Subject subject,
java.util.Set<Membership> memberships)
filter memberships for things the subject can see |
void |
privilegeCopy(Group g1,
Group g2,
Privilege priv)
Copies privileges for subjects that have the specified privilege on g1 to g2. |
void |
privilegeCopy(edu.internet2.middleware.subject.Subject subj1,
edu.internet2.middleware.subject.Subject subj2,
Privilege priv)
Copies privileges of type priv on any subject for the given Subject subj1 to the given Subject subj2. |
void |
revokeAllPrivilegesForSubject(edu.internet2.middleware.subject.Subject subject)
Revoke all access privileges that this subject has. |
void |
revokePrivilege(Group group,
Privilege privilege)
Revoke privilege from all subjects on group. |
void |
revokePrivilege(Group group,
edu.internet2.middleware.subject.Subject subject,
Privilege privilege)
Revoke privilege from subject on group. |
void |
stop()
clean up resources, session is stopped |
Methods inherited from class edu.internet2.middleware.grouper.privs.AccessResolverDecorator |
---|
getDecoratedResolver, getGroupsWhereSubjectDoesntHavePrivilege, getGroupsWhereSubjectHasPrivilege, getStemsWhereGroupThatSubjectHasPrivilege, getSubjectsWithPrivilege, postHqlFilterStemsWithGroups, retrievePrivileges |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String CACHE_HASPRIV
Constructor Detail |
---|
public CachingAccessResolver(AccessResolver resolver)
resolver
- Method Detail |
---|
public java.util.Set<AccessPrivilege> getPrivileges(Group group, edu.internet2.middleware.subject.Subject subject) throws java.lang.IllegalArgumentException
AccessResolver
getPrivileges
in interface AccessResolver
getPrivileges
in class AccessResolverDecorator
java.lang.IllegalArgumentException
- if any parameter is null.AccessResolver.getPrivileges(Group, Subject)
public CacheStats getStats(java.lang.String cache)
cache
-
public void grantPrivilege(Group group, edu.internet2.middleware.subject.Subject subject, Privilege privilege, java.lang.String uuid) throws java.lang.IllegalArgumentException, UnableToPerformException
AccessResolver
grantPrivilege
in interface AccessResolver
grantPrivilege
in class AccessResolverDecorator
uuid
- send uuid if known, else null
java.lang.IllegalArgumentException
- if any parameter is null.
UnableToPerformException
- if the privilege could not be granted.AccessResolver.grantPrivilege(Group, Subject, Privilege, String)
public boolean hasPrivilege(Group group, edu.internet2.middleware.subject.Subject subject, Privilege privilege) throws java.lang.IllegalArgumentException
AccessResolver
hasPrivilege
in interface AccessResolver
hasPrivilege
in class AccessResolverDecorator
java.lang.IllegalArgumentException
- if any parameter is null.AccessResolver.hasPrivilege(Group, Subject, Privilege)
public void revokePrivilege(Group group, Privilege privilege) throws java.lang.IllegalArgumentException, UnableToPerformException
AccessResolver
revokePrivilege
in interface AccessResolver
revokePrivilege
in class AccessResolverDecorator
java.lang.IllegalArgumentException
- if any parameter is null.
UnableToPerformException
- if the privilege could not be revoked.AccessResolver.revokePrivilege(Group, Privilege)
public void revokePrivilege(Group group, edu.internet2.middleware.subject.Subject subject, Privilege privilege) throws java.lang.IllegalArgumentException, UnableToPerformException
AccessResolver
revokePrivilege
in interface AccessResolver
revokePrivilege
in class AccessResolverDecorator
java.lang.IllegalArgumentException
- if any parameter is null.
UnableToPerformException
- if the privilege could not be revoked.AccessResolver.revokePrivilege(Group, Subject, Privilege)
public void privilegeCopy(Group g1, Group g2, Privilege priv) throws java.lang.IllegalArgumentException, UnableToPerformException
AccessResolver
privilegeCopy
in interface AccessResolver
privilegeCopy
in class AccessResolverDecorator
java.lang.IllegalArgumentException
UnableToPerformException
AccessResolver.privilegeCopy(edu.internet2.middleware.grouper.Group, edu.internet2.middleware.grouper.Group, edu.internet2.middleware.grouper.privs.Privilege)
public void privilegeCopy(edu.internet2.middleware.subject.Subject subj1, edu.internet2.middleware.subject.Subject subj2, Privilege priv) throws java.lang.IllegalArgumentException, UnableToPerformException
AccessResolver
privilegeCopy
in interface AccessResolver
privilegeCopy
in class AccessResolverDecorator
java.lang.IllegalArgumentException
UnableToPerformException
AccessResolver.privilegeCopy(edu.internet2.middleware.subject.Subject, edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.privs.Privilege)
public void flushCache()
AccessResolver
flushCache
in interface AccessResolver
flushCache
in class AccessResolverDecorator
AccessResolver.flushCache()
public java.util.Set<Group> postHqlFilterGroups(java.util.Set<Group> groups, edu.internet2.middleware.subject.Subject subject, java.util.Set<Privilege> privInSet)
AccessResolver
postHqlFilterGroups
in interface AccessResolver
postHqlFilterGroups
in class AccessResolverDecorator
subject
- which needs view access to the groupsprivInSet
- find a privilege which is in this set
(e.g. for view, send all access privs). There are pre-canned sets in AccessAdapter
AccessResolver.postHqlFilterGroups(java.util.Set, edu.internet2.middleware.subject.Subject, java.util.Set)
public boolean hqlFilterGroupsWhereClause(edu.internet2.middleware.subject.Subject subject, HqlQuery hqlQuery, java.lang.StringBuilder hql, java.lang.String groupColumn, java.util.Set<Privilege> privInSet)
AccessResolver
hqlFilterGroupsWhereClause
in interface AccessResolver
hqlFilterGroupsWhereClause
in class AccessResolverDecorator
subject
- which needs view access to the groupshql
- the select and current from partgroupColumn
- is the name of the group column to join toprivInSet
- find a privilege which is in this set (e.g. for view, send all access privs)
AccessResolver.hqlFilterGroupsWhereClause(edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.hibernate.HqlQuery, java.lang.StringBuilder, java.lang.String, java.util.Set)
public GrouperSession getGrouperSession()
AccessResolver
getGrouperSession
in interface AccessResolver
getGrouperSession
in class AccessResolverDecorator
AccessResolver.getGrouperSession()
public java.util.Set<Membership> postHqlFilterMemberships(edu.internet2.middleware.subject.Subject subject, java.util.Set<Membership> memberships)
AccessResolver
postHqlFilterMemberships
in interface AccessResolver
postHqlFilterMemberships
in class AccessResolverDecorator
AccessResolver.postHqlFilterMemberships(edu.internet2.middleware.subject.Subject, java.util.Set)
public void stop()
AccessResolver
stop
in interface AccessResolver
stop
in class AccessResolverDecorator
AccessResolver.stop()
public void revokeAllPrivilegesForSubject(edu.internet2.middleware.subject.Subject subject)
AccessResolver
revokeAllPrivilegesForSubject
in interface AccessResolver
revokeAllPrivilegesForSubject
in class AccessResolverDecorator
AccessResolver.revokeAllPrivilegesForSubject(edu.internet2.middleware.subject.Subject)
public boolean hqlFilterGroupsNotWithPrivWhereClause(edu.internet2.middleware.subject.Subject subject, HqlQuery hqlQuery, java.lang.StringBuilder hql, java.lang.String groupColumn, Privilege privilege, boolean considerAllSubject)
AccessResolver
hqlFilterGroupsNotWithPrivWhereClause
in interface AccessResolver
hqlFilterGroupsNotWithPrivWhereClause
in class AccessResolverDecorator
subject
- which needs view access to the groupshql
- the select and current from partgroupColumn
- is the name of the group column to join toprivilege
- find a privilege which is in this set (e.g. for view, send all access privs)considerAllSubject
- if true, then consider GrouperAll when seeign if subject has priv, else do not
edu.internet2.middleware.grouper.privs.AccessResolver#hqlFilterGroupsNotWithPrivWhereClause(edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.hibernate.HqlQuery, java.lang.StringBuilder, java.lang.String, Privilege)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |