5 include_once
'./Services/Authentication/classes/Provider/class.ilAuthProvider.php';
6 include_once
'./Services/Authentication/interfaces/interface.ilAuthProviderInterface.php';
7 include_once
'./Services/Authentication/interfaces/interface.ilAuthProviderAccountMigrationInterface.php';
27 parent::__construct($credentials);
49 include_once
'./Services/LDAP/classes/class.ilLDAPQuery.php';
53 $this->
getLogger()->error(
'Cannot bind to LDAP server... ' . $e->getMessage());
78 if (!
$query->checkGroupMembership(
79 $this->getCredentials()->getUsername(),
86 $this->
getLogger()->error(
'Cannot fetch LDAP user data... ' . $e->getMessage());
109 $user = array_change_key_case($user, CASE_LOWER);
112 include_once
'./Services/LDAP/classes/class.ilLDAPUserSynchronisation.php';
115 $sync->setUserData($user);
116 $sync->forceCreation($this->force_new_account);
119 $internal_account =
$sync->sync();
120 $this->
getLogger()->debug(
'Internal account: ' . $internal_account);
122 $this->
getLogger()->info(
'Login failed with message: ' . $e->getMessage());
127 $this->
getLogger()->info(
'Login failed with message: ' . $e->getMessage());
133 $this->
getLogger()->info(
'Authentication failed: account migration required for external account: ' . $this->
getCredentials()->getUsername());
149 include_once
'./Services/LDAP/classes/class.ilLDAPServer.php';
160 $this->force_new_account =
true;
163 include_once
'./Services/LDAP/classes/class.ilLDAPQuery.php';
167 $this->
getLogger()->error(
'Cannot bind to LDAP server... ' . $e->getMessage());
185 $this->
getLogger()->error(
'Cannot fetch LDAP user data... ' . $e->getMessage());
201 $this->force_new_account =
true;
204 include_once
'./Services/LDAP/classes/class.ilLDAPQuery.php';
208 $this->
getLogger()->error(
'Cannot bind to LDAP server... ' . $e->getMessage());
231 return 'ldap_' . $this->
getServer()->getServerId();
249 $this->migration_account = $a_name;
259 $as_array = array_change_key_case(array($a_string => $a_string));
260 foreach ($as_array as
$key => $string) {
Description of ilLDAPSyncronisationException.
Interface of auth credentials.
updateAccount(ilAuthStatus $status, array $user)
Update Account.
getTriggerAuthMode()
Get trigger auth mode.
Description of class interface.
createNewAccount(ilAuthStatus $status)
Create new ILIAS account for external_account.
doAuthentication(\ilAuthStatus $status)
Do authentication.
const IL_LDAP_BIND_DEFAULT
Synchronization of user accounts used in auth container ldap, radius , cas,...
static _lookupId($a_user_str)
Lookup id by login.
Description of ilLDAPAccountMigrationRequiredException.
setAuthenticatedUserId($a_id)
Description of class class.
Base class for authentication providers (radius, ldap, apache, ...)
Standard interface for auth provider implementations.
__construct(\ilAuthCredentials $credentials, $a_server_id=0)
Constructor.
setStatus($a_status)
Set auth status.
getUserAuthModeName()
Get user auth mode name.
setExternalAccountName($a_name)
Set external account name.
const STATUS_AUTHENTICATED
migrateAccount(ilAuthStatus $status)
Create new account.
getExternalAccountName()
Get external account name.
initServer($a_server_id)
Init Server.
handleAuthenticationFail(ilAuthStatus $status, $a_reason)
Handle failed authentication.
Auth status implementation.
const STATUS_ACCOUNT_MIGRATION_REQUIRED
changeKeyCase($a_string)
Change case similar to array_change_key_case, to avoid further encoding problems. ...