Class GrouperSystemNamingResolver
java.lang.Object
edu.internet2.middleware.grouper.privs.NamingResolverDecorator
edu.internet2.middleware.grouper.privs.GrouperSystemNamingResolver
- All Implemented Interfaces:
NamingResolver
Decorator that provides GrouperSystem privilege resolution for
NamingResolver.
- Since:
- 1.2.1
- Version:
- $Id: GrouperSystemNamingResolver.java,v 1.11 2009-09-21 06:14:26 mchyzer Exp $
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidflush cache if caching resolverbooleanhasPrivilege(Stem stem, Subject subject, Privilege privilege) Check whether subject has privilege on group.booleanhqlFilterStemsNotWithPrivWhereClause(Subject subject, HqlQuery hqlQuery, StringBuilder hql, String groupColumn, Privilege privilege, boolean considerAllSubject) for a stem query, check to make sure the subject doesnt have privsbooleanhqlFilterStemsWhereClause(Subject subject, HqlQuery hqlQuery, StringBuilder hql, String stemColumn, Set<Privilege> privInSet) for a stem query, check to make sure the subject can see the records (if filtering HQL, you can do the postHqlFilterGroups instead if you like).after HQL is run, filter stems.Methods inherited from class edu.internet2.middleware.grouper.privs.NamingResolverDecorator
getDecoratedResolver, getGrouperSession, getPrivileges, getStemsWhereSubjectDoesHavePrivilege, getStemsWhereSubjectDoesntHavePrivilege, getStemsWhereSubjectHasPrivilege, getSubjectsWithPrivilege, grantPrivilege, hqlFilterStemsWithPrivWhereClause, privilegeCopy, privilegeCopy, revokeAllPrivilegesForSubject, revokePrivilege, revokePrivilege, stop
-
Constructor Details
-
GrouperSystemNamingResolver
- Parameters:
resolver-- Since:
- 1.2.1
-
-
Method Details
-
flushCache
public void flushCache()Description copied from interface:NamingResolverflush cache if caching resolver- Specified by:
flushCachein interfaceNamingResolver- Overrides:
flushCachein classNamingResolverDecorator- See Also:
-
hasPrivilege
public boolean hasPrivilege(Stem stem, Subject subject, Privilege privilege) throws IllegalArgumentException Description copied from interface:NamingResolverCheck whether subject has privilege on group.- Specified by:
hasPrivilegein interfaceNamingResolver- Overrides:
hasPrivilegein classNamingResolverDecorator- Returns:
- if has privilege
- Throws:
IllegalArgumentException- if any parameter is null.- Since:
- 1.2.1
- See Also:
-
hqlFilterStemsWhereClause
public boolean hqlFilterStemsWhereClause(Subject subject, HqlQuery hqlQuery, StringBuilder hql, String stemColumn, Set<Privilege> privInSet) Description copied from interface:NamingResolverfor a stem query, check to make sure the subject can see the records (if filtering HQL, you can do the postHqlFilterGroups instead if you like). Note, this joins to tables, so the queries should probably be "distinct"- Specified by:
hqlFilterStemsWhereClausein interfaceNamingResolver- Overrides:
hqlFilterStemsWhereClausein classNamingResolverDecorator- Parameters:
subject- which needs view access to the groupshql- is the select and part part (hql prefix)stemColumn- is the name of the stem column to join toprivInSet- find a privilege which is in this set (e.g. for view, send all access privs). There are pre-canned sets in AccessAdapter- Returns:
- if the query was changed
- See Also:
-
postHqlFilterStems
Description copied from interface:NamingResolverafter HQL is run, filter stems. If you are filtering in HQL, then dont filter here- Specified by:
postHqlFilterStemsin interfaceNamingResolver- Overrides:
postHqlFilterStemsin classNamingResolverDecoratorsubject- 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 NamingPrivilege- Returns:
- the set of filtered groups
- See Also:
-
hqlFilterStemsNotWithPrivWhereClause
public boolean hqlFilterStemsNotWithPrivWhereClause(Subject subject, HqlQuery hqlQuery, StringBuilder hql, String groupColumn, Privilege privilege, boolean considerAllSubject) Description copied from interface:NamingResolverfor a stem query, check to make sure the subject doesnt have privs- Specified by:
hqlFilterStemsNotWithPrivWhereClausein interfaceNamingResolver- Overrides:
hqlFilterStemsNotWithPrivWhereClausein classNamingResolverDecorator- Parameters:
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. stem or create)considerAllSubject- if true, then consider GrouperAll when seeign if subject has priv, else do not- Returns:
- if the statement was changed
- See Also:
-