|
||||||||||
| 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 AccessResolvergetPrivileges in class AccessResolverDecoratorjava.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 AccessResolvergrantPrivilege in class AccessResolverDecoratoruuid - 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 AccessResolverhasPrivilege in class AccessResolverDecoratorjava.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 AccessResolverrevokePrivilege in class AccessResolverDecoratorjava.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 AccessResolverrevokePrivilege in class AccessResolverDecoratorjava.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 AccessResolverprivilegeCopy in class AccessResolverDecoratorjava.lang.IllegalArgumentException
UnableToPerformExceptionAccessResolver.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 AccessResolverprivilegeCopy in class AccessResolverDecoratorjava.lang.IllegalArgumentException
UnableToPerformExceptionAccessResolver.privilegeCopy(edu.internet2.middleware.subject.Subject, edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.privs.Privilege)public void flushCache()
AccessResolver
flushCache in interface AccessResolverflushCache in class AccessResolverDecoratorAccessResolver.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 AccessResolverpostHqlFilterGroups in class AccessResolverDecoratorsubject - 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 AccessResolverhqlFilterGroupsWhereClause in class AccessResolverDecoratorsubject - 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 AccessResolvergetGrouperSession in class AccessResolverDecoratorAccessResolver.getGrouperSession()
public java.util.Set<Membership> postHqlFilterMemberships(edu.internet2.middleware.subject.Subject subject,
java.util.Set<Membership> memberships)
AccessResolver
postHqlFilterMemberships in interface AccessResolverpostHqlFilterMemberships in class AccessResolverDecoratorAccessResolver.postHqlFilterMemberships(edu.internet2.middleware.subject.Subject, java.util.Set)public void stop()
AccessResolver
stop in interface AccessResolverstop in class AccessResolverDecoratorAccessResolver.stop()public void revokeAllPrivilegesForSubject(edu.internet2.middleware.subject.Subject subject)
AccessResolver
revokeAllPrivilegesForSubject in interface AccessResolverrevokeAllPrivilegesForSubject in class AccessResolverDecoratorAccessResolver.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 AccessResolverhqlFilterGroupsNotWithPrivWhereClause in class AccessResolverDecoratorsubject - 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 | |||||||||