org.jboss.security.idm
Interface LoginProvider

All Known Subinterfaces:
ProvisioningProvider
All Known Implementing Classes:
DemoLoginProvider, LDAPIdentityProvider

public interface LoginProvider

The interface org.jboss.security.idm.LoginProvider represents a data source component that extracts data from Identity Stores like LDAP repositories, ActiveX Directories, thirdparty identity management systems like SiteMinder, or even custom JDBC based systems.

It serves as an abstraction to Identity data related to authentication on the system.

Author:
Sohil Shah - sohil.shah@jboss.com - Sep 20, 2006

Method Summary
 boolean exists(java.security.Principal principal)
          Checks if the specified Principal exists in the system anymore or not
 boolean exists(java.lang.String username)
          Checks if the specified username exists in the system anymore or not
 java.lang.String getId()
          Returns an id that uniquely identifies the LoginProvider plugged into the JBoss SSO system.
 boolean login(java.security.Principal principal, byte[] password)
          Checks if the specified Principal should successfully authenticated using the specified password
 boolean login(java.lang.String username, byte[] password)
          Checks if the specified username should be successfully authenticated using the specified password
 void processSSOLoginNotification(LoginContext loginContext)
          This notification is received from the SSO Engine when the engine performs an automatic logic based on a trusted assertion received from a partner site.
 Identity read(java.security.Principal principal)
          Returns the Identity data for the specified Principal
 Identity read(java.lang.String username)
          Returns the Identity data for the specified username
 java.util.Collection readAllRoles()
          Return all the authorization roles registered in the system.
 void setId(java.lang.String id)
          Sets the unique id for the LoginProvider
 void setProperties(java.util.Properties properties)
          Sets any properties like LDAP URLs, JDBC configuration, etc needed to configure this particular implementation of the LoginProvider
 

Method Detail

getId

java.lang.String getId()
                       throws IdentityException
Returns an id that uniquely identifies the LoginProvider plugged into the JBoss SSO system. It should be of the form: si::

Returns:
id of the LoginProvider
Throws:
IdentityException

setId

void setId(java.lang.String id)
           throws IdentityException
Sets the unique id for the LoginProvider

Parameters:
id -
Throws:
IdentityException

setProperties

void setProperties(java.util.Properties properties)
                   throws IdentityException
Sets any properties like LDAP URLs, JDBC configuration, etc needed to configure this particular implementation of the LoginProvider

Parameters:
properties -
Throws:
IdentityException

read

Identity read(java.security.Principal principal)
              throws IdentityException
Returns the Identity data for the specified Principal

Parameters:
principal -
Returns:
Identity data for the Principal
Throws:
IdentityException

read

Identity read(java.lang.String username)
              throws IdentityException
Returns the Identity data for the specified username

Parameters:
username -
Returns:
Identity data for the username
Throws:
IdentityException

exists

boolean exists(java.security.Principal principal)
               throws IdentityException
Checks if the specified Principal exists in the system anymore or not

Parameters:
principal -
Returns:
Throws:
IdentityException

exists

boolean exists(java.lang.String username)
               throws IdentityException
Checks if the specified username exists in the system anymore or not

Parameters:
username -
Returns:
Throws:
IdentityException

login

boolean login(java.security.Principal principal,
              byte[] password)
              throws IdentityException
Checks if the specified Principal should successfully authenticated using the specified password

Parameters:
principal -
password -
Returns:
Throws:
IdentityException

login

boolean login(java.lang.String username,
              byte[] password)
              throws IdentityException
Checks if the specified username should be successfully authenticated using the specified password

Parameters:
username -
password -
Returns:
Throws:
IdentityException

readAllRoles

java.util.Collection readAllRoles()
                                  throws IdentityException
Return all the authorization roles registered in the system. Note: this is a list of all the roles, and not specific to any particular user

Returns:
a Collection of all the authorization roles registered in the system
Throws:
IdentityException

processSSOLoginNotification

void processSSOLoginNotification(LoginContext loginContext)
                                 throws IdentityException
This notification is received from the SSO Engine when the engine performs an automatic logic based on a trusted assertion received from a partner site. The method can be used by the application to setup its environment in response to the user logged in to the system

Parameters:
loginContext -
Throws:
IdentityException