57 $this->sub_status = $a_sub_status;
76 return $this->storage;
88 $this->enableLogging =
true;
91 if ($this->enableLogging) {
94 $this->setLoginCallback(
array($this,
'loginObserver'));
95 $this->setFailedLoginCallback(
array($this,
'failedLoginObserver'));
96 $this->setCheckAuthCallback(
array($this,
'checkAuthObserver'));
97 $this->setLogoutCallback(
array($this,
'logoutObserver'));
99 include_once(
'Services/Authentication/classes/class.ilAuthLogObserver.php');
115 include_once
"Services/User/classes/class.ilObjUser.php";
117 if ($user_id != ANONYMOUS_USER_ID) {
121 include_once
"Services/User/classes/class.ilUserProfile.php";
123 $user->setProfileIncomplete(
true);
133 if (!$user->getActive()) {
140 if (!$user->checkTimeLimit()) {
143 $this->exceeded_user_name = $this->getUserName();
149 $clientip = $user->getClientIP();
150 if (trim($clientip) !=
"") {
151 $clientip = preg_replace(
"/[^0-9.?*,:]+/",
"", $clientip);
152 $clientip = str_replace(
".",
"\\.", $clientip);
153 $clientip = str_replace(
array(
"?",
"*",
","),
array(
"[0-9]",
"[0-9]*",
"|"), $clientip);
154 if (!preg_match(
"/^" . $clientip .
"$/",
$_SERVER[
"REMOTE_ADDR"])) {
162 if ($ilSetting->get(
'ps_prevent_simultaneous_logins') &&
169 include_once
'Services/Tracking/classes/class.ilOnlineTracking.php';
170 ilOnlineTracking::addUser($user_id);
172 include_once
'Modules/Forum/classes/class.ilObjForum.php';
175 require_once
'Services/PrivacySecurity/classes/class.ilSecuritySettings.php';
181 if ($security_settings->isPasswordChangeOnFirstLoginEnabled() &&
182 $user->getLastLogin() == null
184 $user->resetLastPasswordChange();
187 $user->refreshLogin();
195 'logged in as ' . $a_auth->getUsername() .
202 $ilAppEventHandler->raise(
203 'Services/Authentication',
205 array(
'username' => $a_auth->getUsername())
221 ': login failed for user ' . $a_username .
228 if (!in_array($usr_id,
array(ANONYMOUS_USER_ID))) {
232 require_once
'Services/PrivacySecurity/classes/class.ilSecuritySettings.php';
234 $max_attempts = $security->getLoginMaxAttempts();
236 if ((
int) $max_attempts && $login_attempts >= $max_attempts) {
242 return $this->
getContainer()->failedLoginObserver($a_username, $a_auth);
253 return $this->
getContainer()->checkAuthObserver($a_username, $a_auth);
264 global
$ilLog, $ilAppEventHandler;
270 $ilAppEventHandler->raise(
271 'Services/Authentication',
273 array(
'username' => $a_auth->getUsername())
276 return $this->
getContainer()->logoutObserver($a_username, $a_auth);
static isProfileIncomplete($a_user, $a_include_udf=true, $a_personal_data_only=true)
Check if all required personal data fields are set.
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
failedLoginObserver($a_username, $a_auth)
Called after failed login.
static hasActiveSession($a_user_id, $a_session_id)
Check for simultaneous login.
initAuth()
Init auth object Enable logging, set callbacks...
static _incrementLoginAttempts($a_usr_id)
static _lookupId($a_user_str)
Lookup id by login.
getContainer()
Get container object.
const AUTH_USER_TIME_LIMIT_EXCEEDED
static _resetLoginAttempts($a_usr_id)
static _getLoginAttempts($a_usr_id)
getSubStatus()
Get sub status.
static _loginExists($a_login, $a_user_id=0)
check if a login name already exists You may exclude a user from the check by giving his user id as 2...
logoutObserver($a_username, $a_auth)
Called after logout.
Base class for all PEAR and ILIAS auth classes.
checkAuthObserver($a_username, $a_auth)
Called after each check auth request.
loginObserver($a_username, $a_auth)
Called after successful login.
setSubStatus($a_sub_status)
Set sub status.
static _updateOldAccess($a_usr_id)
Create styles array
The data for the language used.
const AUTH_USER_SIMULTANEOUS_LOGIN
static initSession()
mark session with type regarding to the context.
static _setUserInactive($a_usr_id)
supportsRedirects()
Returns true, if the current auth mode allows redirects to e.g the login screen, public section ...
static getLogger($a_component_id)
Get component logger.
static handleLogoutEvent()
reset sessions type to unknown
static handleLoginEvent($a_login, ilAuthSession $auth_session)
when current session is allowed to be created it marks it with type regarding to the sessions user co...
static _getInstance()
Get instance of ilSecuritySettings.