5include_once 
'./Services/Authentication/classes/Provider/class.ilAuthProvider.php';
 
    6include_once 
'./Services/Authentication/interfaces/interface.ilAuthProviderInterface.php';
 
    7include_once 
'./Services/Authentication/interfaces/interface.ilAuthProviderAccountMigrationInterface.php';
 
   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(),
 
   80                $users[$this->changeKeyCase($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);
 
  121        } 
catch (UnexpectedValueException $e) {
 
  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) {
 
An exception for terminatinating execution or to throw for unit testing.
const IL_LDAP_BIND_DEFAULT
Description of class class.
updateAccount(ilAuthStatus $status, array $user)
Update Account.
getTriggerAuthMode()
Get trigger auth mode.
getUserAuthModeName()
Get user auth mode name.
initServer($a_server_id)
Init Server.
migrateAccount(ilAuthStatus $status)
Create new account.
createNewAccount(ilAuthStatus $status)
Create new ILIAS account for external_account.
doAuthentication(\ilAuthStatus $status)
Do authentication.
getExternalAccountName()
Get external account name.
__construct(\ilAuthCredentials $credentials, $a_server_id=0)
Constructor.
changeKeyCase($a_string)
Change case similar to array_change_key_case, to avoid further encoding problems.
setExternalAccountName($a_name)
Set external account name.
Base class for authentication providers (radius, ldap, apache, ...)
handleAuthenticationFail(ilAuthStatus $status, $a_reason)
Handle failed authentication.
Auth status implementation.
const STATUS_AUTHENTICATED
const STATUS_ACCOUNT_MIGRATION_REQUIRED
Description of ilLDAPAccountMigrationRequiredException.
Description of ilLDAPSyncronisationException.
Synchronization of user accounts used in auth container ldap, radius , cas,...
static _lookupId($a_user_str)
Lookup id by login.
Interface of auth credentials.
Description of class interface.
Standard interface for auth provider implementations.