ELogin
Enterprise Lab AAI Login Application
Public Member Functions
ch.enterpriselab.login.control.BusinessFacade Class Reference
Collaboration diagram for ch.enterpriselab.login.control.BusinessFacade:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 BusinessFacade ()
 BusinessFacade (boolean productive)
String createAccount (ELUser elUser)
boolean enableAccount (String uid)
String createNewPassword (String uid, String password)
boolean deleteAccount (ELUser elUser)
boolean isUserAccountDisabled (String uid)
boolean isLDAPConnectionReady ()
String findLDAPUID (final ELUser elUser)
void updateLDAPUser (String ldapUID, ELUser elUser)
boolean mergeAccount (ELUser elUser, String oldElUser)

Detailed Description

Main Entry point to the buisness logic. All exceptions are catched inside this class. This allows in future to publish the method easier as webservice.

Author:
tdmarti

Constructor & Destructor Documentation

ch.enterpriselab.login.control.BusinessFacade.BusinessFacade ( )
ch.enterpriselab.login.control.BusinessFacade.BusinessFacade ( boolean  productive)

Member Function Documentation

String ch.enterpriselab.login.control.BusinessFacade.createAccount ( ELUser  elUser)
Returns:
New created Username Creates an account in LDAP. Puts the attributes into a LDAPUser object and persists that object in LDAP. Runs "onCreateScripts".
Parameters:
elUseruser which should be created
mergeconsolidate exists account with the elUser.ldapuid
Returns:
ldap uid, which was created

Here is the call graph for this function:

Here is the caller graph for this function:

String ch.enterpriselab.login.control.BusinessFacade.createNewPassword ( String  uid,
String  password 
)

(Re)sets a password. Old password not needed because authentication guaranteed by the homeOrganization. Therefore, no "forgot Password" option needed.

Parameters:
uidldap user id (uid)
passwordnew password to set
Returns:
empty String if every thin okey, else the ldap Message

Here is the call graph for this function:

Here is the caller graph for this function:

boolean ch.enterpriselab.login.control.BusinessFacade.deleteAccount ( ELUser  elUser)

Deletes an LDAP account, if the user doesn't want it anymore. Runs "onDeleteScripts". Logs the deletion of the LDAP-account.

Returns:
String (next page to load in browser)

Here is the call graph for this function:

Here is the caller graph for this function:

boolean ch.enterpriselab.login.control.BusinessFacade.enableAccount ( String  uid)

Enables an LDAP account.

Parameters:
uidldap user id (uid)
Returns:
success

Here is the call graph for this function:

Here is the caller graph for this function:

String ch.enterpriselab.login.control.BusinessFacade.findLDAPUID ( final ELUser  elUser)

Checking the ELUser to the LDAP Accounts. Check succeed if (OR - Condition)

  • exactly the same user is inside the ldap account (according to the unique shib id "Shib-SwissEP-UniqueID")
  • the ELUser.PersonUID (Shib-Person-uid) match to one ldap Account with the same uid AND the ELUser.Email (Shib-InetOrgPerson-mail) match to the email address of the ldap Account with the same uid
Parameters:
elUseruser to chack against the ldap Server
Returns:
the ldap uid (f.e. tdtest)

Here is the call graph for this function:

Here is the caller graph for this function:

boolean ch.enterpriselab.login.control.BusinessFacade.isLDAPConnectionReady ( )

Could a connection create a connection to the ldap server.

Returns:
true if success

Here is the call graph for this function:

Here is the caller graph for this function:

boolean ch.enterpriselab.login.control.BusinessFacade.isUserAccountDisabled ( String  uid)

Check the state of the account.

Parameters:
uidusername
Returns:
true, if the account disabled

Here is the call graph for this function:

Here is the caller graph for this function:

boolean ch.enterpriselab.login.control.BusinessFacade.mergeAccount ( ELUser  elUser,
String  oldElUser 
)

Merge a exist Account with a exist one. It looks for an exist user according to the oldELUser parameter. If an account found, it compares the emailaddress from the ldap account to the elUser.getEmail() address. If it success, the account is merged.

Parameters:
elUserData which update the ldap entry
oldElUserOld Enterprise Lab User ID (ldap UID, f.e. tamuster)
Returns:
merge success

Here is the call graph for this function:

Here is the caller graph for this function:

void ch.enterpriselab.login.control.BusinessFacade.updateLDAPUser ( String  ldapUID,
ELUser  elUser 
)

Update/Create Ldap Account Attribute with new AAI Values and expand the ELUser Object with data from ldap server. Attributes will be read and compared to the new value. Is there a different, the old value in the ldap account will be replaced

Parameters:
ldapUIDldap user identifier (uid)
elUserWebsite user
Exceptions:
NamingException

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables