|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.hyperion.css.CSSAPIImpl
Field Summary | |
protected javax.crypto.Cipher |
decryptionCipher
|
protected javax.crypto.Cipher |
encryptionCipher
|
static java.lang.String |
INIT_METHOD
|
static java.lang.String |
INVALID_PRINCIPAL_KEY
|
protected CSSMigrationAPIIF |
migrationAPIImpl
|
Constructor Summary | |
CSSAPIImpl()
Deprecated. |
|
CSSAPIImpl(com.hyperion.css.spi.CSSManager cssManager)
Constructor for CSSAPIImpl. |
Method Summary | |
protected void |
addToken(java.util.Map context,
CSSUserIF user,
java.lang.String password)
|
CSSUserIF |
authenticate(java.util.Map context)
Authenticate method |
CSSUserIF |
authenticate(java.util.Map context,
java.lang.String username,
java.lang.String password)
Authenticates the specified username against the specified password with the providers configured in the security system. |
CSSUserIF |
authenticateProxyUser(java.util.Map context,
java.lang.String username,
java.lang.String trustedServiceKey)
Authenticates the specified username using proxy, after validating the trusted service key. |
protected CSSUserIF |
authenticateSapTicket(java.util.Map context)
|
CSSUserIF |
authenticateSapTicket(java.util.Map context,
java.lang.String ticket)
Authenticates the specified sap ticket against the providers configured in the security system. |
protected CSSUserIF |
authenticateSecurityAgent(java.util.Map context)
|
CSSUserIF |
authenticateSecurityAgent(java.util.Map context,
javax.servlet.http.HttpServletRequest request)
Authenticates by parsing the username and password if available from the specified HTTP Servlet Request. |
protected CSSUserIF |
authenticateToken(java.util.Map context)
|
CSSUserIF |
authenticateToken(java.util.Map context,
java.lang.String token)
Authenticates the specified sso_token against the providers configured in the security system. |
CSSUserIF |
authenticateUserFromSecurityAgent(java.util.Map context,
java.lang.String username,
java.lang.String trustedServiceKey)
Authenticates the specified username , after validating the trusted service key. |
protected static com.hyperion.css.spi.CSSManager |
getCSSManager()
|
CSSDirectoryManagementAPIIF |
getDirectoryManagementAPI(java.util.Map context)
Returns an interface to CRUD of Hyperion Shared Services User Directory. |
CSSGroupIF |
getGroupByIdentity(java.util.Map context,
CSSPrincipalIF principal,
java.lang.String identity)
Get a group based on the identity of the group. |
CSSGroupIF |
getGroupByIdentity(java.util.Map context,
java.lang.String identity)
|
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,
CSSPrincipalIF principal,
java.lang.String groupname)
Get a group based on the name . |
CSSGroupIF[] |
getGroups(java.util.Map context,
java.lang.String groupName)
|
CSSGroupIF[] |
getGroupsByIdentities(java.util.Map context,
java.lang.String[] identities)
Return an Array for a CSSGroupIF objects for an array of group identities. |
java.lang.String[] |
getHeaderNamesFromSecurityAgent(java.util.Map context)
This method returns the HTTP headers that would carry the login name of the user. |
static java.lang.String |
getHubLocation()
|
CSSMigrationAPIIF |
getMigrationAPI(java.util.Map context)
Provides handle to the Migration Interface. |
static com.hyperion.css.spi.impl.nv.NativeProvider |
getNativeProvider()
|
static java.util.List |
getProvider(java.lang.String providerType)
|
protected java.util.List |
getProviderByName(java.lang.String providerName)
|
java.util.Map |
getProviderMap(java.util.Map context)
Gets the names and types of the providers that are registered with the security platform. |
java.lang.String[] |
getProviderNames(java.util.Map context)
|
java.lang.String |
getSAPLoginTicketFromToken(java.util.Map context,
java.lang.String cSSToken)
|
CSSUserIF |
getUserByEmail(java.util.Map context,
CSSPrincipalIF principal,
java.lang.String email)
Get a user based on an email match. |
CSSUserIF |
getUserByEmail(java.util.Map context,
java.lang.String email)
|
CSSUserIF |
getUserByIdentity(java.util.Map context,
CSSPrincipalIF principal,
java.lang.String identity)
Get a user based on the identity of the user. |
CSSUserIF |
getUserByIdentity(java.util.Map context,
java.lang.String identity)
|
CSSUserProvisioningAPIIF |
getUserProvisioningAPI(java.util.Map context)
Returns the User and Group Provisioning Interface. |
CSSUserIF[] |
getUsers(java.util.Map context,
CSSPrincipalIF principal,
java.lang.String username)
Gets the user specified by userName . |
CSSUserIF[] |
getUsers(java.util.Map context,
CSSPrincipalIF principal,
java.lang.String userName,
java.lang.String firstName,
java.lang.String lastName)
Get a user based on a user name , firstName
and lastName match. |
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)
|
CSSUserIF[] |
getUsers(java.util.Map context,
java.lang.String userName,
java.lang.String firstName,
java.lang.String lastName)
|
CSSUserIF[] |
getUsersByName(java.util.Map context,
CSSPrincipalIF principal,
java.lang.String firstName,
java.lang.String lastName)
Get a user based on a firstName and lastName match. |
CSSUserIF[] |
getUsersByName(java.util.Map context,
java.lang.String firstName,
java.lang.String lastName)
|
void |
initialize(java.util.Map context,
CSSApplicationIF appCallback)
Initializes the security platform by specifying the callback into the application. |
static boolean |
isDelegatedModeON()
|
boolean |
isNativeProviderActive(java.util.Map context)
Return the status of the Native Provider after CSS has intialized. |
boolean |
isSecurityAgentProtected(java.util.Map context)
This method is invoked to determine if the access to a resource might be protected by a Security Agent. |
boolean |
isValidCSSToken(java.util.Map context,
java.lang.String token)
Determines if the token is valid. |
CSSLoginUserIF |
login(java.util.Map context,
java.lang.String applicationId,
boolean indirect)
Convenience API to authenticate the user and get the groups and roles list of the user for the specified application id. |
CSSLoginUserIF |
login(java.util.Map context,
java.lang.String username,
java.lang.String password,
java.lang.String[] applicationIds)
Authenticates the specified username against the specified password with the providers configured in the security system. |
CSSLoginUserIF |
loginSapTicket(java.util.Map context,
java.lang.String sapTicket,
java.lang.String[] applicationIds)
Authenticates the specified sap ticket against the providers configured in the security system. |
CSSLoginUserIF |
loginSecurityAgent(java.util.Map context,
javax.servlet.http.HttpServletRequest request,
java.lang.String[] applicationIds)
Authenticates by parsing the username and password if available from the specified HTTP Servlet Request. |
CSSLoginUserIF |
loginToken(java.util.Map context,
java.lang.String token,
java.lang.String[] applicationIds)
Authenticates the specified sso_token against the providers configured in the security system. |
java.lang.String |
restoreToken(java.util.Map context,
java.lang.String token)
|
protected CSSUserIF |
returnAuthenticatedUser(CSSUserIF user,
java.util.Map context)
|
protected void |
storeTicket(java.lang.String key,
java.lang.String ticket)
Write the ticket into the store. |
protected void |
throwAuthException(java.util.Map context,
java.lang.String username)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static java.lang.String INIT_METHOD
protected javax.crypto.Cipher encryptionCipher
protected javax.crypto.Cipher decryptionCipher
protected CSSMigrationAPIIF migrationAPIImpl
public static final java.lang.String INVALID_PRINCIPAL_KEY
Constructor Detail |
public CSSAPIImpl()
public CSSAPIImpl(com.hyperion.css.spi.CSSManager cssManager)
Method Detail |
public CSSUserIF authenticate(java.util.Map context, java.lang.String username, java.lang.String password) throws CSSException
CSSAPIIF
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The host info (ip-address/hostname) is required for auditing purposes.
authenticate
in interface CSSAPIIF
context
- - Map structure holding key-value information about locale, host infousername
- - name of the user to be authenticated.password
- - password for the user to be authenticated.
token
string that can be used to
single-sign-on.
CSSException
- - one of the following exception will be thrown.
public CSSUserIF authenticateSecurityAgent(java.util.Map context, javax.servlet.http.HttpServletRequest request) throws CSSException
CSSAPIIF
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The host info (ip-address/hostname) is required for auditing purposes.
authenticateSecurityAgent
in interface CSSAPIIF
context
- - Map structure holding key-value information about locale, host inforequest
- - The HTTP Servlet Request containing information about the username and password.
token
string that can be used to
single-sign-on.
CSSException
- - one of the following exception will be thrown.
public CSSUserIF authenticate(java.util.Map context) throws CSSException
authenticate
in interface CSSAPIIF
context
- - Map structure holding key-value information about login name, password, token, and locale.
token
string that can be used to
single-sign-on.
CSSException
- - if there was any other abnormality.CSSUserIF
protected CSSUserIF returnAuthenticatedUser(CSSUserIF user, java.util.Map context)
protected CSSUserIF authenticateSapTicket(java.util.Map context) throws CSSException
CSSException
public CSSUserIF authenticateSapTicket(java.util.Map context, java.lang.String ticket) throws CSSException
CSSAPIIF
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The host info (ip-address/hostname) is required for auditing purposes.
authenticateSapTicket
in interface CSSAPIIF
context
- - Map structure holding key-value information about locale, host infoticket
- - SAP ticket that will be used for authentication.
token
string that can be used to
single-sign-on.
CSSException
- - one of the following exception will be thrown.
protected CSSUserIF authenticateToken(java.util.Map context) throws CSSException
CSSException
public CSSUserIF authenticateToken(java.util.Map context, java.lang.String token) throws CSSException
CSSAPIIF
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The host info (ip-address/hostname) is required for auditing purposes.
authenticateToken
in interface CSSAPIIF
context
- - Map structure holding key-value information about locale, host infotoken
- - CSS token to be used for authentication
token
string that can be used to
single-sign-on.
CSSException
- - one of the following exception will be thrown.
protected CSSUserIF authenticateSecurityAgent(java.util.Map context) throws CSSException
CSSException
public CSSUserIF authenticateUserFromSecurityAgent(java.util.Map context, java.lang.String username, java.lang.String trustedServiceKey) throws CSSException
CSSAPIIF
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The host info (ip-address/hostname) is required for auditing purposes.
authenticateUserFromSecurityAgent
in interface CSSAPIIF
context
- - Map structure holding key-value information about locale, host infousername
- - name of the user to be authenticated.trustedServiceKey
- - value of the trusted services key.
token
string that can be used to
single-sign-on.
CSSException
- - one of the following exception will be thrown.
public CSSUserIF authenticateProxyUser(java.util.Map context, java.lang.String username, java.lang.String trustedServiceKey) throws CSSException
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The host info (ip-address/hostname) is required for auditing purposes.
Note: If a SAP user name is specified the CSS token generated will not contain any SAP ticket. In other words this token cannot be used to Single Sign On into any SAP application.
authenticateProxyUser
in interface CSSAPIIF
context
- - Map structure holding key-value information about locale, host infousername
- - name of the user to be authenticated.trustedServiceKey
- - value of the trusted services key.
token
string that can be used to
single-sign-on.
CSSException
- - one of the following exception will be thrown.
protected void throwAuthException(java.util.Map context, java.lang.String username) throws CSSException
CSSException
protected void addToken(java.util.Map context, CSSUserIF user, java.lang.String password) throws CSSException
CSSException
protected java.util.List getProviderByName(java.lang.String providerName) throws CSSException
CSSException
public java.lang.String getSAPLoginTicketFromToken(java.util.Map context, java.lang.String cSSToken) throws CSSTokenNotAcceptedException, CSSIllegalArgumentException
CSSTokenNotAcceptedException
CSSIllegalArgumentException
public java.lang.String restoreToken(java.util.Map context, java.lang.String token) throws CSSException
CSSException
public boolean isValidCSSToken(java.util.Map context, java.lang.String token) throws CSSIllegalArgumentException, CSSException
CSSAPIIF
Determines if the token
is valid.
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
isValidCSSToken
in interface CSSAPIIF
context
- Map structure holding provider and/or locale information.token
- Encrypted string that holds information for a user.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.
CSSException
- - if there was any other abnormality.CSSAPIIF.isValidCSSToken(Map, String)
public java.lang.String[] getProviderNames(java.util.Map context) throws CSSIllegalArgumentException
getProviderNames
in interface CSSAPIIF
CSSIllegalArgumentException
CSSAPIIF.getProviderNames(Map)
public boolean isSecurityAgentProtected(java.util.Map context) throws CSSIllegalArgumentException
CSSAPIIF
This method is invoked to determine if the access to a resource might be protected by a Security Agent.
The Security Agent could be Netegrity Siteminder. If this method
returns true then the caller should attempt to locate the appropriate header;
for instance, for Netegrity: CSSAPIIF.SECURITY_AGENT_LOGIN_NAME
; in the HTTP
headers. If the header exists then the value for that should be passed into
the (@link #authenticate(Map)} method.
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
isSecurityAgentProtected
in interface CSSAPIIF
context
- Map structure holding locale information.
Security Agent
is
used to protect the resources.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.public java.lang.String[] getHeaderNamesFromSecurityAgent(java.util.Map context) throws CSSIllegalArgumentException
CSSAPIIF
This method returns the HTTP headers that would carry the login name of the user.
The header names are populated by the Security Agent. The Security Agent could be Netegrity SiteMinder.
The array returned could
be of length > 0. If that is the case then the calling application needs to
compare the headers from the HTTP REQUEST
with the names from this
array one by one starting from index 0
. This comparison should be
case insensitive.
There could be more than one header because different application/web
servers map headers to different names. For instance, some might prepend
HTTP
to the header name.
It is the reponsibility of the product team to invoke this method
and use the header names returned by it to retrieve the login name
from the HTTP REQUEST
.
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
getHeaderNamesFromSecurityAgent
in interface CSSAPIIF
context
- Map structure holding locale information.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.CSSAPIIF.getHeaderNamesFromSecurityAgent(Map)
public CSSUserProvisioningAPIIF getUserProvisioningAPI(java.util.Map context)
CSSAPIIF
Returns the User and Group Provisioning Interface.
Some of the functionality provided by the interface is as follows:
getUserProvisioningAPI
in interface CSSAPIIF
context
- - Map structure holding locale information.
public java.util.Map getProviderMap(java.util.Map context) throws CSSIllegalArgumentException
CSSAPIIF
Gets the names and types of the providers that are registered with the security platform.
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The keys of the returned Map
instance hold the provider type names, one for each
type. The value associated with each type key is an ArrayList
that contains a
list of provider names as Strings.
getProviderMap
in interface CSSAPIIF
context
- Map structure holding locale information.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.CSSAPIIF.getProviderMap(java.util.Map)
public CSSDirectoryManagementAPIIF getDirectoryManagementAPI(java.util.Map context)
CSSAPIIF
Returns an interface to CRUD of Hyperion Shared Services User Directory.
Some of the functionality provided by the interface is as follows:
getDirectoryManagementAPI
in interface CSSAPIIF
context
- - Map structure holding locale information.
public static com.hyperion.css.spi.impl.nv.NativeProvider getNativeProvider()
public static java.util.List getProvider(java.lang.String providerType)
public boolean isNativeProviderActive(java.util.Map context)
CSSAPIIF
Return the status of the Native Provider after CSS has intialized.
A true will be returned if the Native Directory (open LDAP) is active for connections.
isNativeProviderActive
in interface CSSAPIIF
context
- = Map structure holding locale information.
protected static com.hyperion.css.spi.CSSManager getCSSManager()
public CSSMigrationAPIIF getMigrationAPI(java.util.Map context)
CSSAPIIF
Provides handle to the Migration Interface.
The migration interface provides functionality like:
getMigrationAPI
in interface CSSAPIIF
context
- -
Map structure holding locale information.
public CSSLoginUserIF login(java.util.Map context, java.lang.String applicationId, boolean indirect) throws CSSNoProviderException, CSSTokenNotAvailableException, CSSIllegalArgumentException, CSSAuthenticationException, CSSAuthorizationException, CSSTokenNotAcceptedException, CSSInvalidIdentityException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
CSSAPIIF
Convenience API to authenticate the user and get the groups and roles list of the user for the specified application id.
The login API would perform the following CSS API calls
CSSAPIIF.authenticate(Map)
CSSUserIF.getGroupsList(com.hyperion.css.common.CSSPrincipalIF, String, boolean)
getGroups
CSSUserIF.getRolesList(com.hyperion.css.common.CSSPrincipalIF, String, boolean)
The CSSUserIF
returned by this API
will have the groups list and roles list pre-populated.
context
- - Map structure holding key-value information about login name, password, token, locale and hostinfo.applicationId
- - the application id to which the user is logging in to.indirect
- - boolean value for whether to return direct group user belongs to or
return all the groups in hierarchy.
CSSAuthenticationException
- - If there was a match for the user but the
credentials were incorrect.
CSSInvalidIdentityException
- - if the identity encapsulated in the token was invalid.
CSSTokenNotAcceptedException
- - if the token was not based
on a provider for this application.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.
com.hyperion.css.common.configuration.CSSConfigurationException
- - if the configuration specified is not valid.
CSSAuthorizationException
- - if the principal is not the provisioning manager of
the destination application
CSSException
- - if there was any other abnormality.
CSSNoProviderException
- - if no provider exists with the name specified.
CSSTokenNotAvailableException
- - if the token could not be constructed.
CSSCommunicationException
CSSUserIF
public CSSGroupIF getGroupByIdentity(java.util.Map context, CSSPrincipalIF principal, java.lang.String identity) throws CSSNoProviderException, CSSInvalidIdentityException, CSSInvalidGroupException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSAuthorizationException, CSSException
CSSAPIIF
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.
Please note that if the locale
is not specified, the default locale set
for the system is used.
Also, reserved characters for different directory servers are not directly supported.The caller needs to escape them in the appropriate way for the underlying directory store.
getGroupByIdentity
in interface CSSAPIIF
context
- Map structure holding locale information.principal
- CSSPrincipal identifying the user requesting information. Cannot be null.identity
- String returned from the group object that uniquely
identifies one group on a provider.
CSSInvalidIdentityException
- - if the identity is invalid.
CSSException
- - if there was any other abnormality.
CSSInvalidGroupException
- - if the group specified by the identity does not
exist. The group might have been deleted.
CSSNoProviderException
- - if no provider exists with the name specified.
com.hyperion.css.common.configuration.CSSConfigurationException
- - if the configuration specified is not valid.
CSSCommunicationException
CSSAuthorizationException
CSSAPIIF.getGroupByIdentity(Map, CSSPrincipalIF, String)
public CSSGroupIF[] getGroups(java.util.Map context, CSSPrincipalIF principal, java.lang.String groupname) throws CSSIllegalArgumentException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
CSSAPIIF
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. For instance: the search is on "*name*
".
However, the NTLM provider does not support *
as a prefix to the
name
.
Passing in null
as the groupName
is equivalent to the
*
wildcard character.
The method can be called with the wildcard *
for
groupName
to get all the groups from the first provider in the search order.
In this case it would go by the search order.
To get all groups from a particular provider, specify "*@providerName"
This follows the "groupName@providerName"
syntax. You can also
have wildcards such as "GA*@providerName"
for the groupName
parameter.
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The entryName@ProviderName
syntax is supported by this method. This is
used in the name
parameter.
Also, reserved characters for different directory servers are not directly supported.The caller needs to escape them in the appropriate way for the underlying directory store.
Only the groups matching the filter AND are authorized for view by the specified principal will be returned. An empty array will be returned if there are no groups matching the filter OR principal is not authorized to view them.
getGroups
in interface CSSAPIIF
context
- Map structure holding locale information.principal
- CSSPrincipal identifying the user requesting information. Cannot be null.groupname
- Name of the group.
CSSCommunicationException
- - if provider is specified with the name of the group viz. in the
groupName
argument but is not reachable. For instance: "groupName@providerName"
.
If this provider cannot be contacted then the exception is thrown.
com.hyperion.css.common.configuration.CSSConfigurationException
- - if the configuration specified is not valid.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.
CSSException
- - if there was any other abnormality.CSSAPIIF.getGroups(Map, CSSPrincipalIF, String)
public CSSGroupIF[] getGroups(java.util.Map context, CSSPrincipalIF principal, GroupSearchFilter groupSrchFilter) throws CSSCommunicationException, CSSException
CSSAPIIF
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.
getGroups
in interface CSSAPIIF
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 CSSUserIF getUserByEmail(java.util.Map context, CSSPrincipalIF principal, java.lang.String email) throws CSSIllegalArgumentException, CSSAuthorizationException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
CSSAPIIF
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.
Please note that if the locale
is not specified, the default locale set
for the system is used.
This method is not supported by the NTLM provider.
Wildcards should not be used in the arguments of this method. No guarantee is made for the behavior of this method if wildcards are part of the arguments.
Also, reserved characters for different directory servers are not directly supported.The caller needs to escape them in the appropriate way for the underlying directory store.
getUserByEmail
in interface CSSAPIIF
context
- Map structure holding key-value information about locale.principal
- CSSPrincipal identifying the user requesting information. Cannot be null.email
- The complete e-mail address string for the user.
CSSException
- - if there was any other abnormality.
com.hyperion.css.common.configuration.CSSConfigurationException
- - if the configuration specified is not valid.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.
CSSAuthorizationException
CSSCommunicationException
public CSSUserIF[] getUsers(java.util.Map context, CSSPrincipalIF principal, java.lang.String username) throws CSSIllegalArgumentException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
CSSAPIIF
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 matching users in the directory need to be returned.
However, the NTLM provider does not support *
as a prefix to the
userName
.
Passing null
as the userName
parameter is not accepted and
does not return all the users. You can use wildcards such as '*'
for the
userName
parameter. In this case, users are returned in the order of
directories that are specified by the search order.
You can retreive all users on a provider by specifying "*@providerName"
Passing a groupName
to this call is not supported and no guarantees are made
on the validity of the results.
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The entryName@ProviderName
syntax is supported by this method as a part of
the user name.
Also, reserved characters for different directory servers are not directly supported.The caller needs to escape them in the appropriate way for the underlying directory store.
Only the users matching the filter AND are authorized for view by the specified principal will be returned. An empty array will be returned if there are no users matching the filter OR principal is not authorized to view them.
getUsers
in interface CSSAPIIF
context
- - Map structure holding key-value information about locale.principal
- CSSPrincipal identifying the user requesting information. Cannot be null.username
- String argument representing the user login name.
com.hyperion.css.common.configuration.CSSConfigurationException
- - if the configuration specified is not valid.
CSSException
- - if there was any other abnormality.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.
CSSCommunicationException
- - if provider is specified with the name of the user viz. in the
userName
argument but is not reachable. For instance: "userName@providerName"
.
If this provider cannot be contacted then the exception is thrown.public CSSUserIF[] getUsers(java.util.Map context, CSSPrincipalIF principal, UserSearchFilter userSrchFilter) throws CSSCommunicationException, CSSException
CSSAPIIF
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.
getUsers
in interface CSSAPIIF
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.
CSSException
- - Any other abnormality.
CSSCommunicationException
- - The provider could not connect to the
directory server.public CSSUserIF[] getUsersByName(java.util.Map context, CSSPrincipalIF principal, java.lang.String firstName, java.lang.String lastName) throws CSSIllegalArgumentException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
CSSAPIIF
Get a user based on a firstName
and lastName
match.
The firstName
and lastName
could be mapped to a
particular set of attribute/s in a directory through the configuration.
If there are two attributes, one each for firstName
and lastName
, then the search would be absolute and an AND
would be performed.
If one of the parameters (for example, firstName
) is not specified,
then results for the other (for example, lastName
are returned.
Wildcards should not be used in the arguments of this method. No guarantee is made for the behavior of this method if wildcards are part of the arguments.
The context
can specify the following:
These properties are discussed in the field description.
Please note that if thelocale
is not specified, the default locale set
for the system is used.
This method is not supported by the NTLM provider.
Also, reserved characters for different directory servers are not directly supported.The caller needs to escape them in the appropriate way for the underlying directory store.
Only the users matching the filter AND are authorized for view by the specified principal will be returned. An empty array will be returned if there are no users matching the filter OR principal is not authorized to view them.
getUsersByName
in interface CSSAPIIF
context
- Map structure holding key-value information about locale.principal
- CSSPrincipal identifying the user requesting information. Cannot be null.firstName
- The user's first name, with appended middle name if one exists.lastName
- The user's last name.
com.hyperion.css.common.configuration.CSSConfigurationException
- - if the configuration specified is not valid.
CSSException
- - if there was any other abnormality.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.
CSSCommunicationException
CSSAPIIF.getUsersByName(Map, CSSPrincipalIF, String, String)
public CSSUserIF getUserByIdentity(java.util.Map context, CSSPrincipalIF principal, java.lang.String identity) throws CSSNoProviderException, CSSInvalidIdentityException, CSSAuthorizationException, CSSInvalidUserException, CSSIllegalArgumentException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
CSSAPIIF
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.
Please note that if the locale
is not specified, the default locale set
for the system is used.
Also, reserved characters for different directory servers are not directly supported.The caller needs to escape them in the appropriate way for the underlying directory store.
getUserByIdentity
in interface CSSAPIIF
context
- Map structure holding information about the locale.principal
- CSSPrincipal identifying the user requesting information. Cannot be null.identity
- String returned from the user object that uniquely
identifies one user on a provider.
CSSInvalidIdentityException
- - if the identity is invalid.
CSSCommunicationException
- - if the caller has specified interest in consuming this and
a provider of the type specified by the identity
is not reachable.
If any one of the providers of this type cannot be contacted and the user specified by the
identity
passed in cannot be found then the exception is thrown.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.
CSSNoProviderException
- - if no provider exists with the name specified.
com.hyperion.css.common.configuration.CSSConfigurationException
- - if the configuration specified is not valid.
CSSInvalidUserException
- - if the user specified by the identity does
not exist. The user might have been deleted.
CSSException
- - if there was any other abnormality.
CSSAuthorizationException
CSSAPIIF.getUserByIdentity(Map, CSSPrincipalIF, String)
public CSSUserIF[] getUsers(java.util.Map context, CSSPrincipalIF principal, java.lang.String userName, java.lang.String firstName, java.lang.String lastName) throws CSSIllegalArgumentException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
CSSAPIIF
Get a user based on a user name
, firstName
and lastName
match.
All the attributes are absolute and required. The way this is evaluated is
as follows (in LDAP parlance):
(&(userName="gkhanna")(firstName="Gaurav")(lastName="khanna") )
This can be explained as simply the AND of all the arguments.
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
Wildcards should not be used in the arguments of this method. No guarantee is made for the behavior of this method if wildcards are part of the arguments.
Also, reserved characters for different directory servers are not directly supported.The caller needs to escape them in the appropriate way for the underlying directory store.
Only the users matching the filter AND are authorized for view by the specified principal will be returned. An empty array will be returned if there are no users matching the filter OR principal is not authorized to view them.
getUsers
in interface CSSAPIIF
context
- Map structure holding key-value information about locale.principal
- CSSPrincipal identifying the user requesting information. Cannot be null.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.
CSSException
- - if there was any other abnormality.
com.hyperion.css.common.configuration.CSSConfigurationException
- - if the configuration specified is not valid.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.
CSSCommunicationException
CSSAPIIF.getUsersByName(Map, String, String)
,
CSSAPIIF.getUsers(Map, String)
public static boolean isDelegatedModeON()
public static java.lang.String getHubLocation()
protected void storeTicket(java.lang.String key, java.lang.String ticket) throws CSSException
CSSException
public CSSLoginUserIF login(java.util.Map context, java.lang.String username, java.lang.String password, java.lang.String[] applicationIds) throws CSSException
CSSAPIIF
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The host info (ip-address/hostname) is required for auditing purposes.
An empty or null value for applicationId will return empty results for group and roles listing.
login
in interface CSSAPIIF
context
- - Map structure holding key-value information about locale, host infousername
- - name of the user to be authenticated.password
- - password for the user to be authenticated.applicationIds
- - array of application ids to check the roles and group info on.
token
string that can be used to
single-sign-on.
CSSException
- - one of the following exception will be thrown.
public CSSLoginUserIF loginSapTicket(java.util.Map context, java.lang.String sapTicket, java.lang.String[] applicationIds) throws CSSException
CSSAPIIF
This method return a composite login user object that returns pre-computed list of groups and roles for the specified applications. The implementation of this method has been tuned for login performance and is recommended to be used for login use case.
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The host info (ip-address/hostname) is required for auditing purposes.
An empty or null value for applicationId will return empty results for group and roles listing.
loginSapTicket
in interface CSSAPIIF
context
- - Map structure holding key-value information about locale, host infosapTicket
- - SAP ticket that will be used for authentication.applicationIds
- - array of application ids to check the roles and group info on.
token
string that can be used to
single-sign-on.
CSSException
- - one of the following exception will be thrown.
public CSSLoginUserIF loginSecurityAgent(java.util.Map context, javax.servlet.http.HttpServletRequest request, java.lang.String[] applicationIds) throws CSSException
CSSAPIIF
This method return a composite login user object that returns pre-computed list of groups and roles for the specified applications. The implementation of this method has been tuned for login performance and is recommended to be used for login use case.
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The host info (ip-address/hostname) is required for auditing purposes.
An empty or null value for applicationId will return empty results for group and roles listing.
loginSecurityAgent
in interface CSSAPIIF
context
- - Map structure holding key-value information about locale, host inforequest
- - The HTTP Servlet Request containing information about the username and password.applicationIds
- - array of application ids to check the roles and group info on.
token
string that can be used to
single-sign-on.
CSSException
- - one of the following exception will be thrown.
public CSSLoginUserIF loginToken(java.util.Map context, java.lang.String token, java.lang.String[] applicationIds) throws CSSException
CSSAPIIF
The context
can specify the following:
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used.
The host info (ip-address/hostname) is required for auditing purposes.
An empty or null value for applicationId will return empty results for group and roles listing.
loginToken
in interface CSSAPIIF
context
- - Map structure holding key-value information about locale, host infotoken
- - CSS token to be used for authentication.applicationIds
- - array of application ids to check the roles and group info on.
token
string that can be used to
single-sign-on.
CSSException
- - one of the following exception will be thrown.
public CSSGroupIF[] getGroupsByIdentities(java.util.Map context, java.lang.String[] identities)
CSSAPIIF
Note: This method does not refine the list if the delegated mode is on, this method is to get CSSGroupIF objects for given entries.
getGroupsByIdentities
in interface CSSAPIIF
context
- A map object that holds the context information.identities
- An array of non null string identities.
public void initialize(java.util.Map context, CSSApplicationIF appCallback) throws com.hyperion.css.common.configuration.CSSConfigurationException, CSSIllegalArgumentException, CSSCommunicationException, CSSException
CSSAPIIF
Initializes the security platform by specifying the callback into the application.
The context
can specify the following:
CSSAPIIF.FORCE_DEPENDENCY_CHECK
flag forcing the dependency check.
These properties are discussed in the field description.
Please note that if the locale
is not specified, the default locale set
for the system is used. Also, the Hub Server is assumed to be remote by default.
There are two types of tests on the configuration performed by this method:
initialize
in interface CSSAPIIF
appCallback
- Handle passed by the application implementation to the security
platform, providing a way for the security platform to send information back to the
calling application.
CSSIllegalArgumentException
- - if there is an argument that is inappropriate.
com.hyperion.css.common.configuration.CSSConfigurationException
- - if the configuration specified is not valid in
terms of static tests or the configuration is not valid in terms of dynamic tests.
CSSException
- - if there was any other abnormality
CSSCommunicationException
CSSAPIIF.initialize(java.util.Map, com.hyperion.css.application.CSSApplicationIF)
public CSSGroupIF getGroupByIdentity(java.util.Map context, java.lang.String identity) throws CSSNoProviderException, CSSIllegalArgumentException, CSSInvalidIdentityException, CSSInvalidGroupException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
getGroupByIdentity
in interface CSSAPIIF
CSSNoProviderException
CSSIllegalArgumentException
CSSInvalidIdentityException
CSSInvalidGroupException
com.hyperion.css.common.configuration.CSSConfigurationException
CSSCommunicationException
CSSException
public CSSGroupIF[] getGroups(java.util.Map context, java.lang.String groupName) throws CSSIllegalArgumentException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
getGroups
in interface CSSAPIIF
CSSIllegalArgumentException
com.hyperion.css.common.configuration.CSSConfigurationException
CSSCommunicationException
CSSException
public CSSUserIF getUserByEmail(java.util.Map context, java.lang.String email) throws CSSIllegalArgumentException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
getUserByEmail
in interface CSSAPIIF
CSSIllegalArgumentException
com.hyperion.css.common.configuration.CSSConfigurationException
CSSCommunicationException
CSSException
public CSSUserIF getUserByIdentity(java.util.Map context, java.lang.String identity) throws CSSNoProviderException, CSSInvalidIdentityException, CSSInvalidUserException, CSSIllegalArgumentException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
getUserByIdentity
in interface CSSAPIIF
CSSNoProviderException
CSSInvalidIdentityException
CSSInvalidUserException
CSSIllegalArgumentException
com.hyperion.css.common.configuration.CSSConfigurationException
CSSCommunicationException
CSSException
public CSSUserIF[] getUsers(java.util.Map context, java.lang.String username) throws CSSIllegalArgumentException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
getUsers
in interface CSSAPIIF
CSSIllegalArgumentException
com.hyperion.css.common.configuration.CSSConfigurationException
CSSCommunicationException
CSSException
public CSSUserIF[] getUsers(java.util.Map context, java.lang.String userName, java.lang.String firstName, java.lang.String lastName) throws CSSIllegalArgumentException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
getUsers
in interface CSSAPIIF
CSSIllegalArgumentException
com.hyperion.css.common.configuration.CSSConfigurationException
CSSCommunicationException
CSSException
public CSSUserIF[] getUsersByName(java.util.Map context, java.lang.String firstName, java.lang.String lastName) throws CSSIllegalArgumentException, com.hyperion.css.common.configuration.CSSConfigurationException, CSSCommunicationException, CSSException
getUsersByName
in interface CSSAPIIF
CSSIllegalArgumentException
com.hyperion.css.common.configuration.CSSConfigurationException
CSSCommunicationException
CSSException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |