Class GrouperPersonAttributeDao

java.lang.Object
org.apereo.cas.authentication.attribute.BasePersonAttributeDao
org.apereo.cas.persondir.GrouperPersonAttributeDao
All Implemented Interfaces:
Comparable<org.apereo.cas.authentication.principal.attribute.PersonAttributeDao>, org.apereo.cas.authentication.principal.attribute.PersonAttributeDao, org.springframework.core.Ordered

public class GrouperPersonAttributeDao extends org.apereo.cas.authentication.attribute.BasePersonAttributeDao
Class implementing a minimal PersonAttributeDao API only used by CAS which simply reads all the groups from Grouper repository for a given principal and adopts them to PersonAttributes instance. All other unimplemented methods throw UnsupportedOperationException
This implementation uses Grouper's grouperClient library to query Grouper's back-end repository.

Note: All the Grouper server connection configuration for grouperClient is defined in grouper.client.properties file and must be available in client application's (CAS web application) classpath.

Since:
7.1.0
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Default group attribute.

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE

    Fields inherited from interface org.apereo.cas.authentication.principal.attribute.PersonAttributeDao

    WILDCARD, WILDCARD_PATTERN
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apereo.cas.persondir.GrouperPersonAttributeDao.GroupAttributeValueType
     
     
    Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes>
    getPeople(Map<String,Object> query, org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter, Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes> resultPeople)
     
    Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes>
    getPeopleWithMultivaluedAttributes(Map<String,List<Object>> query, org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter, Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes> resultPeople)
     
    org.apereo.cas.authentication.principal.attribute.PersonAttributes
    getPerson(String subjectId, Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes> resultPeople, org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter)
     
     
    org.apereo.cas.authentication.principal.attribute.UsernameAttributeProvider
     
    void
    setGroupAttributeValueType(org.apereo.cas.persondir.GrouperPersonAttributeDao.GroupAttributeValueType groupAttributeValueType)
     
    void
     
    void
     
    void
    setUsernameAttributeProvider(org.apereo.cas.authentication.principal.attribute.UsernameAttributeProvider usernameAttributeProvider)
     

    Methods inherited from class org.apereo.cas.authentication.attribute.BasePersonAttributeDao

    compareTo, equals, getId, getOrder, getTags, hashCode, isEnabled, parseAttributeToAttributeMapping, putTag, setEnabled, setId, setOrder, setTags, toString

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apereo.cas.authentication.principal.attribute.PersonAttributeDao

    getAvailableQueryAttributes, getPeople, getPeople, getPeople, getPeopleWithMultivaluedAttributes, getPeopleWithMultivaluedAttributes, getPeopleWithMultivaluedAttributes, getPerson, getPerson, getPossibleUserAttributeNames
  • Field Details

    • DEFAULT_GROUPER_ATTRIBUTES_KEY

      public static final String DEFAULT_GROUPER_ATTRIBUTES_KEY
      Default group attribute.
      See Also:
  • Constructor Details

    • GrouperPersonAttributeDao

      public GrouperPersonAttributeDao()
  • Method Details

    • getPerson

      public org.apereo.cas.authentication.principal.attribute.PersonAttributes getPerson(String subjectId, Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes> resultPeople, org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter)
    • getPeople

      public Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes> getPeople(Map<String,Object> query, org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter, Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes> resultPeople)
    • getPeopleWithMultivaluedAttributes

      public Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes> getPeopleWithMultivaluedAttributes(Map<String,List<Object>> query, org.apereo.cas.authentication.principal.attribute.PersonAttributeDaoFilter filter, Set<org.apereo.cas.authentication.principal.attribute.PersonAttributes> resultPeople)
    • getUsernameAttributeProvider

      public org.apereo.cas.authentication.principal.attribute.UsernameAttributeProvider getUsernameAttributeProvider()
    • getParameters

      public Map<String,String> getParameters()
    • getSubjectType

    • getGroupAttributeValueType

      public org.apereo.cas.persondir.GrouperPersonAttributeDao.GroupAttributeValueType getGroupAttributeValueType()
    • setUsernameAttributeProvider

      public void setUsernameAttributeProvider(org.apereo.cas.authentication.principal.attribute.UsernameAttributeProvider usernameAttributeProvider)
    • setParameters

      public void setParameters(Map<String,String> parameters)
    • setSubjectType

      public void setSubjectType(GrouperPersonAttributeDao.GrouperSubjectType subjectType)
    • setGroupAttributeValueType

      public void setGroupAttributeValueType(org.apereo.cas.persondir.GrouperPersonAttributeDao.GroupAttributeValueType groupAttributeValueType)