|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface CSSProviderIF
This is the interface to be implemented by the providers. An implementation of this interface is known as a
provider The Framework can get a handle to a provider through the
com.hyperion.css.spi.CSSProviderFactoryIF#getProvider(Map)
.
Note that the provider methods can be accessed concurrently by multiple threads, therefore it is the responsibility of the provider implementer to make the implementation thread safe.
Method Summary | |
---|---|
CSSUserIF |
authenticate(java.util.Map context)
The user is authenticated by the security platform. |
com.hyperion.css.cache.CacheMap |
createCache(java.util.Map context,
CSSPrincipalIF principal)
Responsible to create the Provider level cache that contains the group hierarchy and user nodes. |
CSSGroupIF |
getGroupByIdentity(java.util.Map context,
java.lang.String identity)
Get a group based on the identity of the group. |
CSSGroupIF[] |
getGroups(java.util.Map context,
CSSPrincipalIF principal,
GroupSearchFilter groupSrchFilter)
Get a group specified by group search filter passed in The group search filter contains group filter attributes and values like, GROUPNAME, DESCRIPTION. |
CSSGroupIF[] |
getGroups(java.util.Map context,
java.lang.String name)
Get a group based on the name . |
java.util.ArrayList |
getGroupTree(java.util.Map context,
java.lang.String identity,
boolean indirect)
For Internal Use Only. |
java.lang.String |
getName()
Returns the name of the implementing provider with which it is configured. |
CSSUserIF |
getUserByEmail(java.util.Map context,
java.lang.String email)
Get a user based on an email match. |
CSSUserIF |
getUserByIdentity(java.util.Map context,
java.lang.String identity)
Get a user based on the identity of the user. |
java.util.Map |
getUserMembersForGroups(java.util.Map context,
java.util.Set groupIdentities)
Returns a Map containing group id as key and set of user objects as values. |
java.util.Set |
getUserObjFromGroups(java.util.Map context,
java.util.Set identities)
Returns set of CSSUserIF objects for the given group identities. |
CSSUserIF[] |
getUsers(java.util.Map context,
CSSPrincipalIF principal,
UserSearchFilter userSrchFilter)
Gets the user specified by user search filter passed in The user search filter contains user filter attributes and values like, USERNAME,FIRSTNAME,LASTNAME,EMAIL,DESCRIPTION (Also ACTIVE, INACTIVE and ALL for native) Etc. |
CSSUserIF[] |
getUsers(java.util.Map context,
java.lang.String userName)
Gets the user specified by userName The userName could be mapped to a particular
attribute in a directory through the Configuration. |
CSSUserIF[] |
getUsers(java.util.Map context,
java.lang.String userName,
java.lang.String firstName,
java.lang.String lastName)
Get a user based on a user name , firstName and lastName match. |
java.util.ArrayList |
getUsersByIdentities(java.util.Map context,
java.lang.String[] array)
Returns List of CSSUserIF objects for given user identities. |
CSSUserIF[] |
getUsersByName(java.util.Map context,
java.lang.String firstName,
java.lang.String lastName)
Get a user based on a firstName and lastName match. |
boolean |
isAvailable(java.util.Map context)
Returns true if provider is communicable. |
java.util.Set<java.lang.String> |
searchGroups(java.util.Map context,
CSSPrincipalIF principal,
GroupSearchFilter groupSrchFilter)
Get a group specified by group search filter passed in The group search filter contains group filter attributes and values like, GROUPNAME, DESCRIPTION. |
java.util.Set<java.lang.String> |
searchGroups(java.util.Map context,
java.lang.String name)
Get a group based on the name . |
java.util.ArrayList |
searchIdentities(java.util.Map context,
java.lang.String identity)
For Internal Use Only. |
void |
setEnvironment(java.util.Map context,
java.util.Map env)
Sets the environment for the provider. |
Method Detail |
---|
CSSUserIF authenticate(java.util.Map context) throws CSSAuthenticationException, CSSCommunicationException, CSSException
The user is authenticated by the security platform. It is the security platform's responsibility to create and
set the token. The provider returns an instance of CSSUserIF
with the token unset.
context
can specify the following:
These properties are discussed in the field description for CSSAPIIF
. The token
is never
passed to the provider.
authenticate
in interface com.hyperion.css.common.internal.CSSFrameworkIF
context
- the various parameters are specified here.
CSSAuthenticationException
- - if the user name exists but the password does not match.
CSSException
- - Any other abnormality. Do not throw if the provider can make a recovery or is improperly
configured.
CSSCommunicationException
- - The provider could not connect to the directory.CSSUserIF
CSSUserIF[] getUsers(java.util.Map context, java.lang.String userName) throws CSSCommunicationException, CSSException
Gets the user specified by userName
The userName
could be mapped to a particular
attribute in a directory through the Configuration. The search for users based on *userName*
should
be based on getting all users who have userName
as a part of the value of the attribute specified.
The userName
could contain a wildcard such as "*"
. This implies that all the users in
the directory need to be returned.
The context
can specify the following:
CSSAPIIF.ENTITY_DEACTIVATE
- if specified, then the deactivated users will be returned.
CSSAPIIF
.
getUsers
in interface com.hyperion.css.common.internal.CSSFrameworkIF
context
- Map structure holding key-value information about locale.userName
- String argument representing the user login name.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSException
- - Any other abnormality.CSSUserIF[] getUsers(java.util.Map context, CSSPrincipalIF principal, UserSearchFilter userSrchFilter) throws CSSCommunicationException, CSSException
Gets the user specified by user search filter passed in The user search filter contains user filter attributes and values like, USERNAME,FIRSTNAME,LASTNAME,EMAIL,DESCRIPTION (Also ACTIVE, INACTIVE and ALL for native) Etc. This supports wild card search. Eg. The search for users based on *userName* should return all users matching this pattern.
when the attribute value is specified as "*" This implies that all the users in the directory need to be returned.The query can be based on any one of the above attributes. For native if the filter attribute can be set to ACTIVE, INACTIVE or ALL to return active, inactive and all users respectively.
context
- - Map structure holding key-value information about locale and other parameters.principal
- - identity of the caller. Can not be null.userSrchFilter
- - contains the search filter attributes and values.
CSSCommunicationException
- - The provider could not connect to the directory server.
CSSException
- - Any other abnormality.CSSUserIF getUserByEmail(java.util.Map context, java.lang.String email) throws CSSCommunicationException, CSSOperationNotSupportedException, CSSException
Get a user based on an email
match. The email
could be mapped to a particular
attribute in a directory through the Configuration. The search for users based on email
should be
absolute.
The context
can specify the following:
These properties are discussed in the field description for CSSAPIIF
.
getUserByEmail
in interface com.hyperion.css.common.internal.CSSFrameworkIF
context
- Map structure holding key-value information about locale.email
- The complete e-mail address string for the user.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSOperationNotSupportedException
- - this is thrown if the provider does not support this operation.
CSSException
- - Any other abnormality.CSSUserIF[] getUsersByName(java.util.Map context, java.lang.String firstName, java.lang.String lastName) throws CSSCommunicationException, CSSOperationNotSupportedException, CSSException
Get a user based on a firstName
and lastName
match. The firstName
and lastName
could be mapped to a particular set of attributes in a directory through the
Configuration. If there are two attributes, one each for firstName
and lastName
,
then the search is absolute and an AND is performed.
If one of the parameters is not specified then results for the other are returned.
The context
can specify the following:
These properties are discussed in the field description for CSSAPIIF
.
getUsersByName
in interface com.hyperion.css.common.internal.CSSFrameworkIF
context
- Map structure holding key-value information about locale.firstName
- The user's first name, with appended middle name if one exists.lastName
- The user's last name.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSOperationNotSupportedException
- - This is thrown if the provider does not support this operation.
CSSException
- - Any other abnormality.CSSUserIF[] getUsers(java.util.Map context, java.lang.String userName, java.lang.String firstName, java.lang.String lastName) throws CSSCommunicationException, CSSException
Get a user based on a user name
, firstName
and lastName
match. All
the atttributes are absolute and required. The way this is evaluated is as follows:
(&(userName="gkhanna")(firstName="Gaurav")(lastName="khanna") )
The context
can specify the following:
These properties are discussed in the field description for CSSAPIIF
.
getUsers
in interface com.hyperion.css.common.internal.CSSFrameworkIF
context
- Map structure holding key-value information about locale.userName
- String argument representing the user login name.firstName
- The user's first name, with appended middle name if one exists.lastName
- The user's last name.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSException
- - Any other abnormality.getUsersByName(Map, String, String)
,
getUsers(Map, String)
CSSUserIF getUserByIdentity(java.util.Map context, java.lang.String identity) throws CSSCommunicationException, CSSException
Get a user based on the identity
of the user. The identity is stored by the application and is
generated by the security platform.
The context
can specify the following:
These properties are discussed in the field description for CSSAPIIF
.
getUserByIdentity
in interface com.hyperion.css.common.internal.CSSFrameworkIF
context
- Map structure holding key-value information about locale.identity
- String returned from the user object that uniquely identifies one user on a provider.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSException
- - Any other abnormality.CSSGroupIF[] getGroups(java.util.Map context, java.lang.String name) throws CSSCommunicationException, CSSException
Get a group based on the name
. The name
could be mapped to a particular attribute
in a directory through the Configuration. The search for groups based on *name*
should be based on
getting all groups who have name
as a part of the value of the attribute specified.
if name
is null
then it gets the "domain/s" or the groups.
The name
could contain a wildcard such as "*"
. This implies that all the groups in the
directory need to be returned.
The context
can specify the following:
These properties are discussed in the field description for CSSAPIIF
.
getGroups
in interface com.hyperion.css.common.internal.CSSFrameworkIF
context
- Map structure holding key-value information about locale.name
- Name of the group.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSException
- - Any other abnormality.CSSGroupIF[] getGroups(java.util.Map context, CSSPrincipalIF principal, GroupSearchFilter groupSrchFilter) throws CSSCommunicationException, CSSException
Get a group specified by group search filter passed in The group search filter contains group filter attributes
and values like, GROUPNAME, DESCRIPTION. The name could be mapped to a particular attribute in a directory
through the Configuration. The search for groups based on *name* should be based on getting all groups who have
name
as a part of the value of the attribute specified.
The attribute could contain a wildcard such as "*". This implies that all the groups in the directory need to be returned.The query can be based on any one of the above attributes.
context
- Map structure holding key-value information about locale.principal
- - identity of the caller. Can not be null.groupSrchFilter
- - contains the group filter attributes and values.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSException
- - Any other abnormality.CSSGroupIF getGroupByIdentity(java.util.Map context, java.lang.String identity) throws CSSCommunicationException, CSSException
Get a group based on the identity
of the group. The identity is stored by the application and is
generated by the security platform.
The context
can specify the following:
These properties are discussed in the field description for CSSAPIIF
.
getGroupByIdentity
in interface com.hyperion.css.common.internal.CSSFrameworkIF
context
- Map structure holding key-value information about locale.identity
- String returned from the group object that uniquely identifies one group on a provider.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSException
- - Any other abnormality.void setEnvironment(java.util.Map context, java.util.Map env)
Sets the environment for the provider. This can be used by the framework to reset the environment for the provider that was set up during the creation/initialization.
env
- Map containing environment for Provider.java.util.ArrayList getGroupTree(java.util.Map context, java.lang.String identity, boolean indirect) throws CSSException
CSSException
java.util.ArrayList searchIdentities(java.util.Map context, java.lang.String identity) throws CSSException
context
- Map structure holding key-value information about locale.identity
- String object holding identity that need to be searched.
CSSException
- - Any other abnormality.java.lang.String getName()
boolean isAvailable(java.util.Map context) throws CSSCommunicationException, CSSException
context
- Map structure holding key-value information about locale.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSException
- - Any other abnormality.java.util.Set getUserObjFromGroups(java.util.Map context, java.util.Set identities) throws CSSException
context
- identities
- - set of group identities
CSSException
java.util.ArrayList getUsersByIdentities(java.util.Map context, java.lang.String[] array) throws CSSException
context
- array
-
CSSException
java.util.Map getUserMembersForGroups(java.util.Map context, java.util.Set groupIdentities) throws CSSException
context
- groupIdentities
-
CSSException
com.hyperion.css.cache.CacheMap createCache(java.util.Map context, CSSPrincipalIF principal)
context
- java.util.Set<java.lang.String> searchGroups(java.util.Map context, java.lang.String name) throws CSSCommunicationException, CSSException
Get a group based on the name
. The name
could be mapped to a particular attribute
in a directory through the Configuration. The search for groups based on *name*
should be based on
getting all groups who have name
as a part of the value of the attribute specified.
if name
is null
then it gets the "domain/s" or the groups.
The name
could contain a wildcard such as "*"
. This implies that all the groups in the
directory need to be returned.
The context
can specify the following:
These properties are discussed in the field description for CSSAPIIF
.
context
- Map structure holding key-value information about locale.name
- Name of the group.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSException
- - Any other abnormality.java.util.Set<java.lang.String> searchGroups(java.util.Map context, CSSPrincipalIF principal, GroupSearchFilter groupSrchFilter) throws CSSCommunicationException, CSSException
Get a group specified by group search filter passed in The group search filter contains group filter attributes
and values like, GROUPNAME, DESCRIPTION. The name could be mapped to a particular attribute in a directory
through the Configuration. The search for groups based on *name* should be based on getting all groups who have
name
as a part of the value of the attribute specified.
The attribute could contain a wildcard such as "*". This implies that all the groups in the directory need to be returned.The query can be based on any one of the above attributes.
context
- Map structure holding key-value information about locale.principal
- - identity of the caller. Can not be null.groupSrchFilter
- - contains the group filter attributes and values.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSException
- - Any other abnormality.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |