public interface CredentialManager
CredentialManagers have varying capabilities. At minimum, a CredentialManger must be able to authenticate users and determine the existence of a user. Some CredentialManagers may also be able to create, delete, or list users and set user passwords.
CredentialManagers do not use the iFS repository's transaction semantic. Operations on CredentialManagers are automically committed.
CredentialManagers must provide a constructor with the following signature:
public CredentialManager(String name, S_LibraryService service)
throws IfsException
, where name
is the name used to
refer to this CredentialManager in API calls and service
is
the S_LibraryService to which this CredentialManager belongs.
Modifier and Type | Field and Description |
---|---|
static String |
IFS_SERVICE_CREDENTIALMANAGER_CLASSNAME
Property whose String value is the CredentialManager classname.
|
static String |
IFS_SERVICE_CREDENTIALMANAGER_DEFAULTREALM
Property whose String value is the name of the default realm
for this CredentialManager.
|
static String |
IFS_SERVICE_CREDENTIALMANAGER_REALM_LIST
Property whose String[] value is the set of realms.
|
static String |
OPTION_LISTUSERS_CREDENTIALMANAGERNAME
Option to specifically set CredentialManagerName for ListUsers.
|
static String |
OPTION_LISTUSERS_RETURNCMUSERS
Option to return CredentialManagerUser objects.
|
static String |
OPTION_LISTUSERS_RETURNDISTINGUISHEDNAMES
Option to return Distinguished names (GUIDs).
|
static String |
OPTION_LISTUSERS_RETURNUSERIDS
Option to return userids.
|
static String |
OPTION_LISTUSERS_SUBSCRIBERNAME
Option to get the users for the specified subscriber.
|
static String |
OPTION_LISTUSERS_USERDISTINGUISHEDNAMEFILTER
Option to get the users whose user DistinguishedName (GUID) matches
a specified pattern.
|
Modifier and Type | Method and Description |
---|---|
void |
authenticate(String distinguishedName,
Credential credential,
ConnectOptions options)
Authenticates the specified user using the specified credential.
|
String |
createUser(String name,
String password,
AttributeValue[] options)
Creates a new user.
|
void |
deleteUser(String distinguishedName,
AttributeValue[] options)
Deletes the specified user.
|
void |
dispose()
Disposes this CredentialManager.
|
boolean |
exists(String distinguishedName)
Determines whether this CredentialManager can authenticate the
specified user.
|
AttributeValue |
getProperty(String name)
Gets the value of the specified dynamic property for this
CredentialManager.
|
Vector |
listUsers(AttributeValue[] options)
Gets the distinguished names of all users managed by this
CredentialManager.
|
void |
setPassword(String distinguishedName,
String password,
AttributeValue[] options)
Sets the password of the specified user.
|
boolean |
supportsCreateUser()
Determines whether this CredentialManager supports the
createUser method. |
boolean |
supportsDeleteUser()
Determines whether this CredentialManager supports the
deleteUser method. |
boolean |
supportsListUsers()
Determines whether this CredentialManager supports the
listUsers method. |
boolean |
supportsSetPassword()
Determines whether this CredentialManager supports the
setPassword method. |
static final String IFS_SERVICE_CREDENTIALMANAGER_CLASSNAME
All CredentialManager implementations should support this property.
static final String IFS_SERVICE_CREDENTIALMANAGER_REALM_LIST
Many CredentialManager implementations support this property.
static final String IFS_SERVICE_CREDENTIALMANAGER_DEFAULTREALM
Many CredentialManager implementations support this property.
static final String OPTION_LISTUSERS_RETURNDISTINGUISHEDNAMES
This option applies to listUsers
and must have a
boolean value.
If the value of this option is true, Distinguished names are returned. This is the default option.
static final String OPTION_LISTUSERS_RETURNUSERIDS
This option applies to listUsers
and must have a
boolean value.
If the value of this option is true, userids are returned.
static final String OPTION_LISTUSERS_RETURNCMUSERS
This option applies to listUsers
and must have a
boolean value.
If the value of this option is true, CredentialManagerUser objects are returned.
static final String OPTION_LISTUSERS_SUBSCRIBERNAME
This option applies to listUsers
and must have a
String value.
The value of this option specifies the subscriber name for which to return users. If null or unspecified, the users are returned for the default subscriber.
static final String OPTION_LISTUSERS_USERDISTINGUISHEDNAMEFILTER
This option applies to listUsers
and must have a
String value.
The value of this option specifies a filter to apply to user GUIDs. Use "*" to indicate zero or more characters in that position. Special characters "*", "(", ")", and "\" must be escaped in accordance with RFC 2254. If null or unspecified, no user GUID filter is applied to the subscriber's users.
static final String OPTION_LISTUSERS_CREDENTIALMANAGERNAME
void authenticate(String distinguishedName, Credential credential, ConnectOptions options) throws IfsException
distinguishedName
- the distinguished name of the usercredential
- the credentialoptions
- the ConnectOptions supplied by the userIfsException
- (IFS-10170) if the credential is invalidIfsException
- (IFS-10151) if the operation otherwise failsboolean exists(String distinguishedName) throws IfsException
distinguishedName
- the distinguished name of the userIfsException
- (IFS-10152) if the operation failsboolean supportsCreateUser() throws IfsException
createUser
method.createUser
is supportedIfsException
- (IFS-10153) if the operation failsString createUser(String name, String password, AttributeValue[] options) throws IfsException
name
- the name of the user; some CredentialManagers
may convert this name into a distinguished
name if required; other CredentialManagers
may require this to be a distinguished name
to begin withpassword
- the password of the useroptions
- CredentialManager-specific options; a null
value requests default behaviorIfsException
- (IFS-10154) if the operation failsboolean supportsDeleteUser() throws IfsException
deleteUser
method.deleteUser
is supportedIfsException
- (IFS-10155) if the operation failsvoid deleteUser(String distinguishedName, AttributeValue[] options) throws IfsException
distinguishedName
- the distinguished name of the useroptions
- CredentialManager-specific options; a null
value requests default behaviorIfsException
- (IFS-10156) if the operation failsboolean supportsSetPassword() throws IfsException
setPassword
method.setPassword
is supportedIfsException
- (IFS-10157) if the operation failsvoid setPassword(String distinguishedName, String password, AttributeValue[] options) throws IfsException
distinguishedName
- the distinguished name of the userpassword
- the new passwordoptions
- CredentialManager-specific options; a null
value requests default behaviorIfsException
- (IFS-10158) if the operation failsboolean supportsListUsers() throws IfsException
listUsers
method.listUsers
is supportedIfsException
- (IFS-10159) if the operation failsVector listUsers(AttributeValue[] options) throws IfsException
options
- CredentialManager-specific options; a null
value requests default behaviorIfsException
- (IFS-10160) if the operation failsAttributeValue getProperty(String name) throws IfsException
name
- the property nameIfsException
- (IFS-10163) if the operation failsvoid dispose() throws IfsException
This method is invoked by the DirectoryService to shutdown this CredentialManager. The CredentialManager should perform any clean up tasks and release any resources it holds.
IfsException
- (IFS-10161) if the operation failsCopyright © 2023. All rights reserved.