public class CachingAttrDefResolver extends AttributeDefResolverDecorator
AttributeDefResolver.
| Modifier and Type | Field and Description |
|---|---|
static String |
CACHE_HASPRIV |
| Constructor and Description |
|---|
CachingAttrDefResolver(AttributeDefResolver resolver) |
| Modifier and Type | Method and Description |
|---|---|
void |
flushCache()
flush cache if caching resolver
|
Set<AttributeDef> |
getAttributeDefsWhereSubjectHasPrivilege(Subject subject,
Privilege privilege)
Get all attributedefs where subject has privilege.
|
GrouperSession |
getGrouperSession()
get a reference to the session
|
Set<AttributeDefPrivilege> |
getPrivileges(AttributeDef attributeDef,
Subject subject)
Get all privileges subject has on attributeDef.
|
CacheStats |
getStats(String cache) |
Set<Subject> |
getSubjectsWithPrivilege(AttributeDef attributeDef,
Privilege privilege)
Get all subjects with privilege on attributeDef.
|
void |
grantPrivilege(AttributeDef attributeDef,
Subject subject,
Privilege privilege,
String uuid)
Grant privilege to subject on attributeDef.
|
boolean |
hasPrivilege(AttributeDef attributeDef,
Subject subject,
Privilege privilege)
Check whether subject has privilege on attributeDef.
|
boolean |
hqlFilterAttrDefsWhereClause(Subject subject,
HqlQuery hqlQuery,
StringBuilder hqlTables,
StringBuilder hqlWhereClause,
String attrDefColumn,
Set<Privilege> privInSet)
for an attrDef query, check to make sure the subject can see the records (if filtering HQL, you can do
the postHqlFilterAttDefs instead if you like)
|
boolean |
hqlFilterAttributeDefsNotWithPrivWhereClause(Subject subject,
HqlQuery hqlQuery,
StringBuilder hql,
String attributeDefColumn,
Privilege privilege,
boolean considerAllSubject)
for an attribute def query, check to make sure the subject cant see the records
|
boolean |
hqlFilterAttributeDefsWithPrivWhereClause(Subject subject,
HqlQuery hqlQuery,
StringBuilder hql,
String attributeDefColumn,
Privilege privilege,
boolean considerAllSubject)
for an attribute def query, check to make sure the records have certain privs
|
Set<AttributeDef> |
postHqlFilterAttrDefs(Set<AttributeDef> attributeDefs,
Subject subject,
Set<Privilege> privInSet)
after HQL is run, filter attributeDefs.
|
Set<AttributeAssign> |
postHqlFilterAttributeAssigns(Subject subject,
Set<AttributeAssign> attributeAssigns)
filter attributeDefs for things the subject can see
|
Set<PermissionEntry> |
postHqlFilterPermissions(Subject subject,
Set<PermissionEntry> permissionsEntries)
filter permissions for things the subject can see
|
Set<PITAttributeAssign> |
postHqlFilterPITAttributeAssigns(Subject subject,
Set<PITAttributeAssign> pitAttributeAssigns)
filter pit attribute assignments for things the subject can see
|
void |
privilegeCopy(AttributeDef attributeDef1,
AttributeDef attributeDef2,
Privilege priv)
Copies privileges for subjects that have the specified privilege on g1 to g2.
|
void |
privilegeCopy(Subject subj1,
Subject subj2,
Privilege priv)
Copies privileges of type priv on any subject for the given Subject subj1 to the given Subject subj2.
|
void |
revokeAllPrivilegesForSubject(Subject subject)
Revoke all attrDef privileges that this subject has.
|
void |
revokePrivilege(AttributeDef attributeDef,
Privilege privilege)
Revoke privilege from all subjects on attributeDef.
|
void |
revokePrivilege(AttributeDef attributeDef,
Subject subject,
Privilege privilege)
Revoke privilege from subject on attributeDef.
|
void |
stop()
clean up resources, session is stopped
|
getAttributeDefsWhereSubjectDoesHavePrivilege, getAttributeDefsWhereSubjectDoesntHavePrivilege, getDecoratedResolver, retrievePrivilegespublic static final String CACHE_HASPRIV
public CachingAttrDefResolver(AttributeDefResolver resolver)
resolver - public Set<AttributeDef> getAttributeDefsWhereSubjectHasPrivilege(Subject subject, Privilege privilege) throws IllegalArgumentException
AttributeDefResolvergetAttributeDefsWhereSubjectHasPrivilege in interface AttributeDefResolvergetAttributeDefsWhereSubjectHasPrivilege in class AttributeDefResolverDecoratorIllegalArgumentException - if any parameter is null.AttributeDefResolver.getAttributeDefsWhereSubjectHasPrivilege(Subject, Privilege)public Set<AttributeDefPrivilege> getPrivileges(AttributeDef attributeDef, Subject subject) throws IllegalArgumentException
AttributeDefResolvergetPrivileges in interface AttributeDefResolvergetPrivileges in class AttributeDefResolverDecoratorIllegalArgumentException - if any parameter is null.AttributeDefResolver.getPrivileges(edu.internet2.middleware.grouper.attr.AttributeDef, edu.internet2.middleware.subject.Subject)public CacheStats getStats(String cache)
cache - public Set<Subject> getSubjectsWithPrivilege(AttributeDef attributeDef, Privilege privilege) throws IllegalArgumentException
AttributeDefResolvergetSubjectsWithPrivilege in interface AttributeDefResolvergetSubjectsWithPrivilege in class AttributeDefResolverDecoratorIllegalArgumentException - if any parameter is null.AttributeDefResolver.getSubjectsWithPrivilege(edu.internet2.middleware.grouper.attr.AttributeDef, edu.internet2.middleware.grouper.privs.Privilege)public void grantPrivilege(AttributeDef attributeDef, Subject subject, Privilege privilege, String uuid) throws IllegalArgumentException, UnableToPerformException
AttributeDefResolvergrantPrivilege in interface AttributeDefResolvergrantPrivilege in class AttributeDefResolverDecoratoruuid - is uuid or null for assignedIllegalArgumentException - if any parameter is null.UnableToPerformException - if the privilege could not be granted.AttributeDefResolver.grantPrivilege(edu.internet2.middleware.grouper.attr.AttributeDef, edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.privs.Privilege, String)public boolean hasPrivilege(AttributeDef attributeDef, Subject subject, Privilege privilege) throws IllegalArgumentException
AttributeDefResolverhasPrivilege in interface AttributeDefResolverhasPrivilege in class AttributeDefResolverDecoratorIllegalArgumentException - if any parameter is null.AttributeDefResolver.hasPrivilege(edu.internet2.middleware.grouper.attr.AttributeDef, edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.privs.Privilege)public void revokePrivilege(AttributeDef attributeDef, Privilege privilege) throws IllegalArgumentException, UnableToPerformException
AttributeDefResolverrevokePrivilege in interface AttributeDefResolverrevokePrivilege in class AttributeDefResolverDecoratorIllegalArgumentException - if any parameter is null.UnableToPerformException - if the privilege could not be revoked.AttributeDefResolver.revokePrivilege(edu.internet2.middleware.grouper.attr.AttributeDef, edu.internet2.middleware.grouper.privs.Privilege)public void revokePrivilege(AttributeDef attributeDef, Subject subject, Privilege privilege) throws IllegalArgumentException, UnableToPerformException
AttributeDefResolverrevokePrivilege in interface AttributeDefResolverrevokePrivilege in class AttributeDefResolverDecoratorIllegalArgumentException - if any parameter is null.UnableToPerformException - if the privilege could not be revoked.AttributeDefResolver.revokePrivilege(edu.internet2.middleware.grouper.attr.AttributeDef, edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.privs.Privilege)public void privilegeCopy(AttributeDef attributeDef1, AttributeDef attributeDef2, Privilege priv) throws IllegalArgumentException, UnableToPerformException
AttributeDefResolverprivilegeCopy in interface AttributeDefResolverprivilegeCopy in class AttributeDefResolverDecoratorIllegalArgumentExceptionUnableToPerformExceptionAttributeDefResolver.privilegeCopy(edu.internet2.middleware.grouper.attr.AttributeDef, edu.internet2.middleware.grouper.attr.AttributeDef, edu.internet2.middleware.grouper.privs.Privilege)public void privilegeCopy(Subject subj1, Subject subj2, Privilege priv) throws IllegalArgumentException, UnableToPerformException
AttributeDefResolverprivilegeCopy in interface AttributeDefResolverprivilegeCopy in class AttributeDefResolverDecoratorIllegalArgumentExceptionUnableToPerformExceptionAttributeDefResolver.privilegeCopy(edu.internet2.middleware.subject.Subject, edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.privs.Privilege)public void flushCache()
AttributeDefResolverflushCache in interface AttributeDefResolverflushCache in class AttributeDefResolverDecoratorAttributeDefResolverDecorator.flushCache()public Set<AttributeDef> postHqlFilterAttrDefs(Set<AttributeDef> attributeDefs, Subject subject, Set<Privilege> privInSet)
AttributeDefResolverpostHqlFilterAttrDefs in interface AttributeDefResolverpostHqlFilterAttrDefs in class AttributeDefResolverDecoratorsubject - which needs view access to the attribute defsprivInSet - find a privilege which is in this set
(e.g. for view, send all attrDef privs). There are pre-canned sets in AttributeDefAdapterAttributeDefResolver.postHqlFilterAttrDefs(java.util.Set, edu.internet2.middleware.subject.Subject, java.util.Set)public boolean hqlFilterAttrDefsWhereClause(Subject subject, HqlQuery hqlQuery, StringBuilder hqlTables, StringBuilder hqlWhereClause, String attrDefColumn, Set<Privilege> privInSet)
AttributeDefResolverhqlFilterAttrDefsWhereClause in interface AttributeDefResolverhqlFilterAttrDefsWhereClause in class AttributeDefResolverDecoratorsubject - which needs view access to the attrDefshqlTables - the select and current from parthqlWhereClause - is there where clause part of the queryattrDefColumn - is the name of the attributeDef column to join toprivInSet - find a privilege which is in this set (e.g. for view, send all attrDef privs)AttributeDefResolver.hqlFilterAttrDefsWhereClause(edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.hibernate.HqlQuery, java.lang.StringBuilder, java.lang.StringBuilder, java.lang.String, java.util.Set)public GrouperSession getGrouperSession()
AttributeDefResolvergetGrouperSession in interface AttributeDefResolvergetGrouperSession in class AttributeDefResolverDecoratorAttributeDefResolver.getGrouperSession()public Set<AttributeAssign> postHqlFilterAttributeAssigns(Subject subject, Set<AttributeAssign> attributeAssigns)
AttributeDefResolverpostHqlFilterAttributeAssigns in interface AttributeDefResolverpostHqlFilterAttributeAssigns in class AttributeDefResolverDecoratorAttributeDefResolverDecorator.postHqlFilterAttributeAssigns(edu.internet2.middleware.subject.Subject, java.util.Set)public Set<PITAttributeAssign> postHqlFilterPITAttributeAssigns(Subject subject, Set<PITAttributeAssign> pitAttributeAssigns)
AttributeDefResolverpostHqlFilterPITAttributeAssigns in interface AttributeDefResolverpostHqlFilterPITAttributeAssigns in class AttributeDefResolverDecoratorAttributeDefResolverDecorator.postHqlFilterPITAttributeAssigns(edu.internet2.middleware.subject.Subject, java.util.Set)public void stop()
AttributeDefResolverstop in interface AttributeDefResolverstop in class AttributeDefResolverDecoratorAttributeDefResolver.stop()public void revokeAllPrivilegesForSubject(Subject subject)
AttributeDefResolverrevokeAllPrivilegesForSubject in interface AttributeDefResolverrevokeAllPrivilegesForSubject in class AttributeDefResolverDecoratorAttributeDefResolver.revokeAllPrivilegesForSubject(edu.internet2.middleware.subject.Subject)public Set<PermissionEntry> postHqlFilterPermissions(Subject subject, Set<PermissionEntry> permissionsEntries)
AttributeDefResolverpostHqlFilterPermissions in interface AttributeDefResolverpostHqlFilterPermissions in class AttributeDefResolverDecoratorAttributeDefResolver.postHqlFilterPermissions(edu.internet2.middleware.subject.Subject, java.util.Set)public boolean hqlFilterAttributeDefsNotWithPrivWhereClause(Subject subject, HqlQuery hqlQuery, StringBuilder hql, String attributeDefColumn, Privilege privilege, boolean considerAllSubject)
AttributeDefResolverhqlFilterAttributeDefsNotWithPrivWhereClause in interface AttributeDefResolverhqlFilterAttributeDefsNotWithPrivWhereClause in class AttributeDefResolverDecoratorsubject - which needs view access to the groupshql - the select and current from partattributeDefColumn - is the name of the attributeDef column to join toprivilege - find a privilege which is in this set (e.g. for view, attr view)considerAllSubject - if true, then consider GrouperAll when seeign if subject has priv, else do notAttributeDefResolver.hqlFilterAttributeDefsNotWithPrivWhereClause(Subject, HqlQuery, StringBuilder, String, Privilege, boolean)public boolean hqlFilterAttributeDefsWithPrivWhereClause(Subject subject, HqlQuery hqlQuery, StringBuilder hql, String attributeDefColumn, Privilege privilege, boolean considerAllSubject)
AttributeDefResolverhqlFilterAttributeDefsWithPrivWhereClause in interface AttributeDefResolverhqlFilterAttributeDefsWithPrivWhereClause in class AttributeDefResolverDecoratorsubject - which needs view access to the groupshql - the select and current from partattributeDefColumn - is the name of the attributeDef column to join toprivilege - find a privilege which is in this set (e.g. for view, attr view)considerAllSubject - if true, then consider GrouperAll when seeign if subject has priv, else do notAttributeDefResolver.hqlFilterAttributeDefsWithPrivWhereClause(Subject, HqlQuery, StringBuilder, String, Privilege, boolean)Copyright © 2016 Internet2. All rights reserved.