|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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
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. |
java.util.ArrayList |
getChildrenForGroup(java.util.Map context,
com.hyperion.css.common.CSSNodeImpl groupNode)
For Internal Use Only. |
CSSGroupIF[] |
getDelegatedGroups(java.util.Map context,
CSSPrincipalIF principal,
CSSDelegatedListIF[] delegatedList,
GroupSearchFilter groupSrchFilter)
Returns all the groups that are present in the delegated list and the child groups recursively matching the group name filter specified. |
CSSGroupIF[] |
getDelegatedGroups(java.util.Map context,
CSSPrincipalIF principal,
CSSDelegatedListIF[] delegatedList,
java.lang.String groupNameFilter)
Returns all the groups that are present in the delegated list and the child groups recursively matching the group name filter specified. |
CSSUserIF[] |
getDelegatedUsers(java.util.Map context,
CSSPrincipalIF principal,
CSSDelegatedListIF[] delegatedList,
java.lang.String userNameFilter)
Returns all the users that are present in the delegated list and the users in the groups recursively matching the user name filter specified.. |
CSSUserIF[] |
getDelegatedUsers(java.util.Map context,
CSSPrincipalIF principal,
CSSDelegatedListIF[] delegatedList,
UserSearchFilter userSrchFilter)
Returns all the users that are present in the delegated list and the users in the groups recursively matching the user name filter specified. |
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 |
getGroupsByIdentities(java.util.Map context,
java.lang.String[] ids,
java.util.List failedList)
For Internal Use only |
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.ArrayList |
searchIdentities(java.util.Map context,
java.lang.String identity)
For Internal Use Only. |
void |
setEnvironment(java.util.Map env)
Sets the environment for the provider. |
Method Detail |
public 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.
The \domainName\entryName
syntax is also supported for the benefit of
applications using NTLM as the authentication protocol.
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
public 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.public 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.There may be a performence hit for NTLM because in case no group is passed as search criteria for NTLM and search is made on FIRSTNAME or LASTNAME. In this case first all the users are obtained and then they are filtered out based on FIRSTNAME or LASTNAME Etc.
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.public 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.public 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.public 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)
public 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.public 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.public 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.public 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.public java.util.ArrayList getGroupsByIdentities(java.util.Map context, java.lang.String[] ids, java.util.List failedList) throws CSSCommunicationException, CSSException
Get groups based on the identities
of the group array.
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
.
context
- Map structure holding key-value information about locale.ids
- String array of group identities.failedList
- List of group identities that failed to get fetched.
CSSCommunicationException
- - The provider could not connect to the directory.
CSSException
- - Any other abnormality.public void setEnvironment(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.public java.util.ArrayList getChildrenForGroup(java.util.Map context, com.hyperion.css.common.CSSNodeImpl groupNode) throws CSSCommunicationException, CSSException
CSSCommunicationException
CSSException
public java.util.ArrayList getGroupTree(java.util.Map context, java.lang.String identity, boolean indirect) throws CSSException
CSSException
public 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.public CSSGroupIF[] getDelegatedGroups(java.util.Map context, CSSPrincipalIF principal, CSSDelegatedListIF[] delegatedList, java.lang.String groupNameFilter)
context
- principal
- - logged-in userdelegatedList
- groupNameFilter
- group name filter
public CSSUserIF[] getDelegatedUsers(java.util.Map context, CSSPrincipalIF principal, CSSDelegatedListIF[] delegatedList, java.lang.String userNameFilter)
context
- principal
- - logged-in userdelegatedList
- userNameFilter
- user name filter
public CSSUserIF[] getDelegatedUsers(java.util.Map context, CSSPrincipalIF principal, CSSDelegatedListIF[] delegatedList, UserSearchFilter userSrchFilter)
context
- principal
- - logged-in userdelegatedList
- userSrchFilter
- user search filter
public CSSGroupIF[] getDelegatedGroups(java.util.Map context, CSSPrincipalIF principal, CSSDelegatedListIF[] delegatedList, GroupSearchFilter groupSrchFilter)
context
- principal
- - logged-in userdelegatedList
- groupSrchFilter
- group search filter
public java.lang.String getName()
public 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.public java.util.Set getUserObjFromGroups(java.util.Map context, java.util.Set identities) throws CSSException
context
- identities
- - set of group identities
CSSException
public java.util.ArrayList getUsersByIdentities(java.util.Map context, java.lang.String[] array) throws CSSException
context
- array
-
CSSException
public java.util.Map getUserMembersForGroups(java.util.Map context, java.util.Set groupIdentities) throws CSSException
context
- groupIdentities
-
CSSException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |