## org.exist.security.xacml
Class UserAttributeModule

    java.lang.Object
      com.sun.xacml.finder.AttributeFinderModule
          org.exist.security.xacml.UserAttributeModule

public class UserAttributeModule
extends com.sun.xacml.finder.AttributeFinderModule

This class looks up attributes for a Subject with a subject-category of access-subject. The currently supported attributes are `user name` and `groups`. This is a possible implementation point for LDAP lookup if this is desired in the future.

Constructor Summary
`UserAttributeModule(ExistPDP pdp)` Creates an `AttributeFinderModule` capable of retrieving attributes for a `User`.

Method Summary
`com.sun.xacml.cond.EvaluationResult` `findAttribute(java.net.URI attributeType, java.net.URI attributeId, java.net.URI issuer, java.net.URI subjectCategory, com.sun.xacml.EvaluationCtx context, int designatorType)`
`java.util.Set` `getSupportedDesignatorTypes()` Returns a `Set` containing `AttributeDesignator.SUBJECT_TARGET` to indicate that this module only supports `Subject`s.
`java.util.Set` `getSupportedIds()` A `Set` containing the `URI`s `user name` and `groups` to indicate that these are the only attributes supported by this module.
`boolean` `isDesignatorSupported()` Indicates support of looking up attributes by data supplied by an AttributeDesignator element, specifically, a SubjectAttributeDesignator element.

Methods inherited from class com.sun.xacml.finder.AttributeFinderModule
`findAttribute, getIdentifier, invalidateCache, isSelectorSupported`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### UserAttributeModule

    public UserAttributeModule(ExistPDP pdp)

  Creates an `AttributeFinderModule` capable of retrieving attributes for a `User`.

Parameters:
  `pdp` - The `ExistPDP` that is used to obtain information about a given `User`.

Method Detail

### findAttribute

    public com.sun.xacml.cond.EvaluationResult findAttribute(java.net.URI attributeType,
                                                             java.net.URI attributeId,
                                                             java.net.URI issuer,
                                                             java.net.URI subjectCategory,
                                                             com.sun.xacml.EvaluationCtx context,
                                                             int designatorType)

### isDesignatorSupported

    public boolean isDesignatorSupported()

  Indicates support of looking up attributes by data supplied by an AttributeDesignator element, specifically, a SubjectAttributeDesignator element.

  Returns:
    true to indicate that this module supports this method of looking up attributes

### getSupportedDesignatorTypes

    public java.util.Set getSupportedDesignatorTypes()

  Returns a `Set` containing `AttributeDesignator.SUBJECT_TARGET` to indicate that this module only supports `Subject`s.

  Returns:
    A `Set` indicating the supported designator type.

### getSupportedIds

    public java.util.Set getSupportedIds()

  A `Set` containing the `URI`s `user name` and `groups` to indicate that these are the only attributes supported by this module.

  Returns:
    A `Set` indicating the supported attribute ids.

Copyright (C) Wolfgang Meier. All rights reserved.