|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.aselect.server.cross.CrossASelectManager
public class CrossASelectManager
This class loads all necessary configuration needed to set up a 'cross' A-Select environment.
Description:
A singleton cross aselect manager, containing the cross
aselect configuration.
remote_servers
An A-Select Server might have configured <remote_servers/>
to forward an authentication request to an other A-Select Server.
cross_selector
If there are more than one remote servers you might want to dynamically
determine to which remote_server the request should be forwarded. This can be
realized by configuring a <cross_selector/>
. This selector
should implement ISelectorHandler
. Only one handler can be active
and is initialized by this CrossASelectManager.
local_servers
An A-Select Server can also act as remote server for other A-Select Servers.
In that case authentication requests are forwarded to this A-Select Server by
other A-Select Servers. These A-Select Servers should be configured as
<local_servers/>
. If configured to require signing from
local_servers, the public key of each local_server is loaded at initialization.
Examples:
An A-Select Server that has configured a trust relationship with other
A-Select Servers, may grant access to an application while the user is
actually authenticated at an other A-Select Server.
------------- ----------------- ----------------- -------- | | | | | | | | |Application| -> | Local | -> | Remote | -> |AuthSP| | | |A-Select Server| |A-Select Server| | | ------------- ----------------- ----------------- --------In the figure above, a user is authenticated at the 'Remote A-Select Server' to get access to an application that was secured with the 'Local A-Select Server'.
<remote_servers/>
and acts like an application. This
A-Select Server may not have a user database and no connection with
AuthSP's.<local_servers/>
and is configured like a 'normal'
A-Select Server except that it may not have any applications configured.<cross_selector/>
to dynamicaly select a 'Remote Server' by using an ISelectorHandler
.
This is an optional configuration since the application is able to request for a
specific 'Remote Server' in it's authenticate request.<local_servers/>
and <remote_servers/>
. This A-Select Server will act as 'Remote
Server' for the configured <local_servers/>
. But it will also
act as 'Local Server' for the configured <remote_servers/>
.
------------- ----------------- ------------------ ----------------- -------- | | | | |Remote and Local| | | | | |Application| -> | Local | -> | (Proxy) | -> | Remote | -> |AuthSP| | | |A-Select Server| |A-Select Server | |A-Select Server| | | ------------- ----------------- ------------------ ----------------- --------Such an A-Select Server is referred to as Proxy A-Select Server if it is used to parse request from 'Local Servers' to 'Remote Servers'.
Method Summary | |
---|---|
static CrossASelectManager |
getHandle()
Must be used to get an CrossASelectManager instance. |
java.lang.String |
getHandlerConfig(java.lang.String sKey)
A Simple function to retrieve a value of a ISelectorHandler configuration parameter. |
java.security.PublicKey |
getLocalASelectServerPublicKey(java.lang.String sLocalOrg)
Get the public key of one of the A-Select Servers that are configured as Cross A-Select local servers. |
java.lang.String |
getLocalParam(java.lang.String sOrgId,
java.lang.String sName)
Returns the requested parameter for an organization. |
java.util.Hashtable |
getLocalServerInfo(java.lang.String sLocalOrganization)
Returns configuration used as optional template tags. |
java.lang.String |
getOptionalLocalParam(java.lang.String sOrgId,
java.lang.String sName)
Returns the requested optional paramater for an local organisation. |
java.lang.String |
getRemoteParam(java.lang.String sOrgId,
java.lang.String sName)
Returns the requested parameter for an organisation. |
java.util.Hashtable |
getRemoteServers()
Retrieve Remote Server configuration. |
ISelectorHandler |
getSelectorHandler()
Gives a handle to the ISelectorHandler . |
void |
init()
Initialization of the CrossASelectManager singleton. |
boolean |
isCrossSelectorEnabled()
|
boolean |
isForcedAuthenticateEnabled(java.lang.String sOrg)
|
boolean |
isLocalSigningRequired()
|
boolean |
localServersEnabled()
|
boolean |
remoteServersEnabled()
|
boolean |
useRemoteSigning()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static CrossASelectManager getHandle()
CrossASelectManager
instance if it's still null
.
CrossASelectManager
.public void init() throws ASelectConfigException
ASelectConfigManager
should be initialized.
ASelectConfigException
public boolean isLocalSigningRequired()
public boolean isForcedAuthenticateEnabled(java.lang.String sOrg)
sOrg
- The organization id that will be checked for enabled forced
authentication
public boolean useRemoteSigning()
public boolean remoteServersEnabled()
public boolean isCrossSelectorEnabled()
public boolean localServersEnabled()
public ISelectorHandler getSelectorHandler()
ISelectorHandler
.
ISelectorHandler
can be active within A-Select.
ISelectorHandler
public java.lang.String getRemoteParam(java.lang.String sOrgId, java.lang.String sName)
sOrgId
- String
containing an organisation id.sName
- String
containing the parameter id asked for.
null
if the attribute was not found.public java.lang.String getLocalParam(java.lang.String sOrgId, java.lang.String sName)
sOrgId
- String
containing an local organization id.sName
- String
containing the parameter id asked for.
null
if the attribute was not found.public java.lang.String getOptionalLocalParam(java.lang.String sOrgId, java.lang.String sName) throws ASelectException
null
if the parameter is not present. Unlike
the getLocalParam(String, String)
method, this method does not
complain about missing attributes in the system log.
sOrgId
- String
containing an local organization id.sName
- String
containing the parameter name asked for.
null
if the attribute was not found.
ASelectException
- If the entire section was not found,
or a internal error occurred.public java.security.PublicKey getLocalASelectServerPublicKey(java.lang.String sLocalOrg)
sLocalOrg != null
.
null
will be returned.
sLocalOrg
- The local organization of the cross A-Select Server.
PublicKey
of the requested Cross A-Select Server.public java.lang.String getHandlerConfig(java.lang.String sKey)
ISelectorHandler
configuration parameter.
sKey
- String containing the identifier of the configuration.
public java.util.Hashtable getRemoteServers()
Hashtable
containing
all 'friendly_name' values for the configured remote A-Select
Servers. The Hashtable
is indexed by the 'organization'
value of the remote A-Select Servers.
Hashtable
is indexed by the 'organization'
value of the remote A-Select Servers.public java.util.Hashtable getLocalServerInfo(java.lang.String sLocalOrganization)
Hashtable
containing information that must be
showed in templates.
sLocalOrganization
- organization ID configured in the local_server
config section
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |