ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilSessionControl Class Reference
+ Collaboration diagram for ilSessionControl:

Static Public Member Functions

static checkExpiredSession ()
 checks for possibly expired session should be called from ilAuthUtils::__initAuth() so it's called before session_start() is called More...
 
static initSession ()
 mark session with type regarding to the context. More...
 
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 context. More...
 
static handleLogoutEvent ()
 reset sessions type to unknown More...
 
static getExistingSessionCount (array $a_types)
 returns number of valid sessions relating to given session types More...
 
static getSettingFields ()
 returns the array of setting fields More...
 

Data Fields

const INTERNAL_DEBUG = false
 this controls the debuggin into a separate logfile (. More...
 
const DEFAULT_MAX_COUNT = 0
 default value for settings that have not been defined in setup or administration yet More...
 
const DEFAULT_MIN_IDLE = 15
 
const DEFAULT_MAX_IDLE = 30
 
const DEFAULT_MAX_IDLE_AFTER_FIRST_REQUEST = 1
 
const DEFAULT_ALLOW_CLIENT_MAINTENANCE = 1
 
const SESSION_TYPE_UNKNOWN = 0
 session types from which one is assigned to each session More...
 
const SESSION_TYPE_SYSTEM = 1
 
const SESSION_TYPE_ADMIN = 2
 
const SESSION_TYPE_USER = 3
 
const SESSION_TYPE_ANONYM = 4
 

Static Public Attributes

static $session_types_controlled
 

Static Private Member Functions

static checkCurrentSessionIsAllowed (ilAuthSession $auth, $a_user_id)
 checks wether the current session exhaust the limit of sessions when limit is reached it deletes "firstRequestAbidencer" and checks again when limit is still reached it deletes "oneMinIdleSession" and checks again when limit is still reached the current session will be logged out More...
 
static kickOneMinIdleSession (array $a_types)
 if sessions exist that relates to given session types and idled longer than min idle parameter, this method deletes one of these sessions More...
 
static kickFirstRequestAbidencer (array $a_types)
 kicks sessions of users that abidence after login so people could not login and go for coffe break ;-) More...
 
static isValidSession ($a_sid)
 checks if session exists for given id and if it is still valid More...
 
static removeSessionCookie ()
 removes a session cookie, so it is not sent by browser anymore More...
 
static checkAdministrationPermission ($a_user_id)
 checks wether a given user login relates to an user with administrative permissions More...
 
static debug ($a_debug_log_message)
 logs the given debug message in ilLog More...
 

Static Private Attributes

static $setting_fields
 all fieldnames that are saved in settings table More...
 
static $session_types_not_controlled
 all session types that will be involved when count of sessions will be determined or when idleing sessions will be destroyed More...
 

Detailed Description

Author
Bjoern Heyser bheys.nosp@m.er@d.nosp@m.ataba.nosp@m.y.de
Version
$Id$

Definition at line 11 of file class.ilSessionControl.php.

Member Function Documentation

◆ checkAdministrationPermission()

static ilSessionControl::checkAdministrationPermission (   $a_user_id)
staticprivate

checks wether a given user login relates to an user with administrative permissions

@global ilRbacSystem $rbacsystem

Parameters
integer$a_user_id
Returns
boolean access

Definition at line 466 of file class.ilSessionControl.php.

467 {
468 if (!(int) $a_user_id) {
469 return false;
470 }
471
472 global $rbacsystem;
473
474 $access = $rbacsystem->checkAccessOfUser(
475 $a_user_id,
476 'read,visible',
477 SYSTEM_FOLDER_ID
478 );
479
480 return $access;
481 }

Referenced by handleLoginEvent().

+ Here is the caller graph for this function:

◆ checkCurrentSessionIsAllowed()

static ilSessionControl::checkCurrentSessionIsAllowed ( ilAuthSession  $auth,
  $a_user_id 
)
staticprivate

checks wether the current session exhaust the limit of sessions when limit is reached it deletes "firstRequestAbidencer" and checks again when limit is still reached it deletes "oneMinIdleSession" and checks again when limit is still reached the current session will be logged out

@global ilSetting $ilSetting @global ilAppEventHandler $ilAppEventHandler

Parameters
ilAuthSession$a_auth

Definition at line 230 of file class.ilSessionControl.php.

231 {
232 global $ilSetting;
233
234 $max_sessions = (int) $ilSetting->get('session_max_count', self::DEFAULT_MAX_COUNT);
235
236 if ($max_sessions > 0) {
237 // get total number of sessions
238 $num_sessions = self::getExistingSessionCount(self::$session_types_controlled);
239
240 self::debug(__METHOD__ . "--> total existing sessions (" . $num_sessions . ")");
241
242 if (($num_sessions + 1) > $max_sessions) {
243 self::debug(__METHOD__ . ' --> limit for session pool reached, but try kicking some first request abidencer');
244
245 self::kickFirstRequestAbidencer(self::$session_types_controlled);
246
247 // get total number of sessions again
248 $num_sessions = self::getExistingSessionCount(self::$session_types_controlled);
249
250 if (($num_sessions + 1) > $max_sessions) {
251 self::debug(__METHOD__ . ' --> limit for session pool still reached so try kick one min idle session');
252
253 self::kickOneMinIdleSession(self::$session_types_controlled);
254
255 // get total number of sessions again
256 $num_sessions = self::getExistingSessionCount(self::$session_types_controlled);
257
258 if (($num_sessions + 1) > $max_sessions) {
259 self::debug(__METHOD__ . ' --> limit for session pool still reached so logout session (' . session_id() . ') and trigger event');
260
262
263 // as the session is opened and closed in one request, there
264 // is no proper session yet and we have to do this ourselves
266 session_id(),
267 $_SESSION['SessionType'],
268 time(),
269 $a_user_id
270 );
271
272 $auth->logout();
273
274 // Trigger reachedSessionPoolLimit Event
275 global $ilAppEventHandler;
276 $ilAppEventHandler->raise(
277 'Services/Authentication',
278 'reachedSessionPoolLimit',
279 array()
280 );
281
282 // auth won't do this, we need to close session properly
283 // already done in new implementation
284 // session_destroy();
285
286 ilUtil::redirect('login.php?reached_session_limit=true');
287 } else {
288 self::debug(__METHOD__ . ' --> limit of session pool not reached anymore after kicking one min idle session');
289 }
290 } else {
291 self::debug(__METHOD__ . ' --> limit of session pool not reached anymore after kicking some first request abidencer');
292 }
293 } else {
294 self::debug(__METHOD__ . ' --> limit for session pool not reached yet');
295 }
296 } else {
297 self::debug(__METHOD__ . ' --> limit for session pool not set so check is bypassed');
298 }
299 }
$auth
Definition: metadata.php:48
$_SESSION["AccountId"]
static debug($a_debug_log_message)
logs the given debug message in ilLog
static getExistingSessionCount(array $a_types)
returns number of valid sessions relating to given session types
static kickOneMinIdleSession(array $a_types)
if sessions exist that relates to given session types and idled longer than min idle parameter,...
static kickFirstRequestAbidencer(array $a_types)
kicks sessions of users that abidence after login so people could not login and go for coffe break ;-...
static createRawEntry($a_session_id, $a_session_type, $a_timestamp, $a_user_id)
Create raw data entry.
static setClosingContext($a_context)
set closing context (for statistics)
const SESSION_CLOSE_LIMIT
static redirect($a_script)
global $ilSetting
Definition: privfeed.php:17

References $_SESSION, $auth, $ilSetting, ilSessionStatistics\createRawEntry(), debug(), getExistingSessionCount(), kickFirstRequestAbidencer(), kickOneMinIdleSession(), ilUtil\redirect(), ilSession\SESSION_CLOSE_LIMIT, and ilSession\setClosingContext().

Referenced by handleLoginEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkExpiredSession()

static ilSessionControl::checkExpiredSession ( )
static

checks for possibly expired session should be called from ilAuthUtils::__initAuth() so it's called before session_start() is called

@global ilSetting $ilSetting @global ilLanguage $lng @global ilAppEventHandler $ilAppEventHandler

Definition at line 85 of file class.ilSessionControl.php.

86 {
87 global $ilSetting;
88
89 // do not check session in fixed duration mode
90 if ($ilSetting->get('session_handling_type', 0) != 1) {
91 return;
92 }
93
94 // check for expired sessions makes sense
95 // only when public section is not enabled
96 // because it is not possible to determine
97 // wether the sid cookie relates to a session of an
98 // authenticated user or a anonymous user
99 // when the session dataset has allready been deleted
100
101 if (!$ilSetting->get("pub_section")) {
102 global $lng;
103
104 $sid = null;
105
106 if (!isset($_COOKIE[session_name()]) || !strlen($_COOKIE[session_name()])) {
107 self::debug('Browser did not send a sid cookie');
108 } else {
109 $sid = $_COOKIE[session_name()];
110
111 self::debug('Browser sent sid cookie with value (' . $sid . ')');
112
113 if (!self::isValidSession($sid)) {
114 self::debug('remove session cookie for (' . $sid . ') and trigger event');
115
116 // raw data will be updated (later) with garbage collection [destroyExpired()]
117
119
120 // Trigger expiredSessionDetected Event
121 global $ilAppEventHandler;
122 $ilAppEventHandler->raise(
123 'Services/Authentication',
124 'expiredSessionDetected',
125 array()
126 );
127
128 ilUtil::redirect('login.php?expired=true' . '&target=' . $_GET['target']);
129 }
130 }
131 }
132 }
$_COOKIE['client_id']
Definition: server.php:9
$_GET["client_id"]
isValidSession($ext_uid, $soap_pw, $new_user)
isValidSession
static removeSessionCookie()
removes a session cookie, so it is not sent by browser anymore
global $lng
Definition: privfeed.php:17

References $_COOKIE, $_GET, $ilSetting, $lng, debug(), isValidSession(), ilUtil\redirect(), and removeSessionCookie().

+ Here is the call graph for this function:

◆ debug()

static ilSessionControl::debug (   $a_debug_log_message)
staticprivate

logs the given debug message in ilLog

@global ilLog $ilLog

Parameters
string$a_debug_log_message

Definition at line 489 of file class.ilSessionControl.php.

490 {
491 global $ilLog;
492
493 if (DEVMODE) {
494 $ilLog->write($a_debug_log_message, 'message');
495 }
496
497 if (self::INTERNAL_DEBUG) {
498 error_log($a_debug_log_message . "\n", 3, 'session.log');
499 }
500 }

References $ilLog, and Monolog\Handler\error_log().

Referenced by checkCurrentSessionIsAllowed(), checkExpiredSession(), handleLoginEvent(), handleLogoutEvent(), initSession(), isValidSession(), kickFirstRequestAbidencer(), kickOneMinIdleSession(), and removeSessionCookie().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getExistingSessionCount()

static ilSessionControl::getExistingSessionCount ( array  $a_types)
static

returns number of valid sessions relating to given session types

@global ilDB $ilDB

Parameters
array$a_types
Returns
integer num_sessions

Definition at line 308 of file class.ilSessionControl.php.

309 {
310 global $ilDB;
311
312 $ts = time();
313
314 $query = "SELECT count(session_id) AS num_sessions FROM usr_session " .
315 "WHERE expires > %s " .
316 "AND " . $ilDB->in('type', $a_types, false, 'integer');
317
318 $res = $ilDB->queryF($query, array('integer'), array($ts));
320
321 return $row->num_sessions;
322 }
$query
foreach($_POST as $key=> $value) $res
global $ilDB

References $ilDB, $query, $res, $row, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by checkCurrentSessionIsAllowed(), and ilSessionStatisticsGUI\renderCurrentBasics().

+ Here is the caller graph for this function:

◆ getSettingFields()

static ilSessionControl::getSettingFields ( )
static

returns the array of setting fields

Returns
array setting_fields

Definition at line 507 of file class.ilSessionControl.php.

508 {
510 }
static $setting_fields
all fieldnames that are saved in settings table

References $setting_fields.

Referenced by ilSetup\checkClientSessionSettings(), ilSetupGUI\displaySessions(), ilSetup\getSessionSettings(), and ilSetup\setSessionSettings().

+ Here is the caller graph for this function:

◆ handleLoginEvent()

static ilSessionControl::handleLoginEvent (   $a_login,
ilAuthSession  $auth_session 
)
static

when current session is allowed to be created it marks it with type regarding to the sessions user context.

when session is not allowed to be created it will be destroyed.

Definition at line 160 of file class.ilSessionControl.php.

161 {
162 global $ilSetting;
163
164 require_once 'Services/User/classes/class.ilObjUser.php';
165 $user_id = ilObjUser::_lookupId($a_login);
166
167 // we need the session type for the session statistics
168 // regardless of the current session handling type
169 switch (true) {
170 case isset($_ENV['SHELL']):
172 break;
173
174 case $user_id == ANONYMOUS_USER_ID:
176 break;
177
180 break;
181
182 default:
184 break;
185 }
186
187 $_SESSION['SessionType'] = $type;
188 self::debug(__METHOD__ . " --> update sessions type to (" . $type . ")");
189
190 // do not handle login event in fixed duration mode
191 if ($ilSetting->get('session_handling_type', 0) != 1) {
192 return true;
193 }
194
195 if (in_array($type, self::$session_types_controlled)) {
196 return self::checkCurrentSessionIsAllowed($auth_session, $user_id);
197 }
198 }
static _lookupId($a_user_str)
Lookup id by login.
static checkCurrentSessionIsAllowed(ilAuthSession $auth, $a_user_id)
checks wether the current session exhaust the limit of sessions when limit is reached it deletes "fir...
static checkAdministrationPermission($a_user_id)
checks wether a given user login relates to an user with administrative permissions
$type

References $_SESSION, $ilSetting, $type, ilObjUser\_lookupId(), checkAdministrationPermission(), checkCurrentSessionIsAllowed(), debug(), SESSION_TYPE_ADMIN, SESSION_TYPE_ANONYM, SESSION_TYPE_SYSTEM, and SESSION_TYPE_USER.

Referenced by ilAuthFrontend\handleAuthenticationSuccess(), and ilAuthBase\loginObserver().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleLogoutEvent()

static ilSessionControl::handleLogoutEvent ( )
static

reset sessions type to unknown

Definition at line 203 of file class.ilSessionControl.php.

204 {
205 global $ilSetting;
206
207 // do not handle logout event in fixed duration mode
208 if ($ilSetting->get('session_handling_type', 0) != 1) {
209 return;
210 }
211
212 $_SESSION['SessionType'] = self::SESSION_TYPE_UNKNOWN;
213 self::debug(__METHOD__ . " --> reset sessions type to (" . $_SESSION['SessionType'] . ")");
214
215 // session_destroy() is called in auth, so raw data will be updated
216
218 }
const SESSION_TYPE_UNKNOWN
session types from which one is assigned to each session

References $_SESSION, $ilSetting, debug(), removeSessionCookie(), and SESSION_TYPE_UNKNOWN.

Referenced by ilAuthBase\logoutObserver().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initSession()

static ilSessionControl::initSession ( )
static

mark session with type regarding to the context.

should be called from ilAuthBase::initAuth()

Definition at line 138 of file class.ilSessionControl.php.

139 {
140 global $ilSetting;
141
142 // do not init session type in fixed duration mode
143 if ($ilSetting->get('session_handling_type', 0) != 1) {
144 return;
145 }
146
147 if (!isset($_SESSION['SessionType'])) {
148 $_SESSION['SessionType'] = self::SESSION_TYPE_UNKNOWN;
149 self::debug(__METHOD__ . " --> init session with type (" . $_SESSION['SessionType'] . ")");
150 } else {
151 self::debug(__METHOD__ . " --> keep sessions type on (" . $_SESSION['SessionType'] . ")");
152 }
153 }

References $_SESSION, $ilSetting, debug(), and SESSION_TYPE_UNKNOWN.

Referenced by ilAuthBase\initAuth().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isValidSession()

static ilSessionControl::isValidSession (   $a_sid)
staticprivate

checks if session exists for given id and if it is still valid

@global ilDB $ilDB @global ilSetting $ilSetting

Parameters
string$a_sid
Returns
boolean session_valid

Definition at line 412 of file class.ilSessionControl.php.

413 {
414 global $ilDB, $ilSetting;
415
416 $query = "SELECT session_id, expires FROM usr_session " .
417 "WHERE session_id = %s";
418
419 $res = $ilDB->queryF($query, array('text'), array($a_sid));
420
421 $ts = time();
422
423 $sessions = array();
424
425 while ($row = $ilDB->fetchAssoc($res)) {
426 if ($row['expires'] > $ts) {
427 self::debug(__METHOD__ . ' --> Found a valid session with id (' . $a_sid . ')');
428 $sessions[] = $row;
429 } else {
430 self::debug(__METHOD__ . ' --> Found an expired session with id (' . $a_sid . ')');
431 }
432 }
433
434 if (count($sessions) == 1) {
435 self::debug(__METHOD__ . ' --> Exact one valid session found for session id (' . $a_sid . ')');
436
437 return true;
438 } else {
439 if (count($sessions) > 1) {
440 self::debug(__METHOD__ . ' --> Strange!!! More than one sessions found for given session id! (' . $a_sid . ')');
441 } else {
442 self::debug(__METHOD__ . ' --> No valid session found for session id (' . $a_sid . ')');
443 }
444
445 return false;
446 }
447 }

References $ilDB, $ilSetting, $query, $res, $row, and debug().

+ Here is the call graph for this function:

◆ kickFirstRequestAbidencer()

static ilSessionControl::kickFirstRequestAbidencer ( array  $a_types)
staticprivate

kicks sessions of users that abidence after login so people could not login and go for coffe break ;-)

@global ilDB $ilDB @global ilSetting $ilSetting

Returns
<type>

Definition at line 373 of file class.ilSessionControl.php.

374 {
375 global $ilDB, $ilSetting;
376
377 $max_idle_after_first_request = (int) $ilSetting->get('session_max_idle_after_first_request') * 60;
378
379 if ((int) $max_idle_after_first_request == 0) {
380 return;
381 }
382
383 $query = "SELECT session_id,expires FROM usr_session WHERE " .
384 "(ctime - createtime) < %s " .
385 "AND (%s - createtime) > %s " .
386 "AND " . $ilDB->in('type', $a_types, false, 'integer');
387
388 $res = $ilDB->queryF(
389 $query,
390 array('integer', 'integer', 'integer'),
391 array($max_idle_after_first_request, time(), $max_idle_after_first_request)
392 );
393
394 $session_ids = array();
395 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
396 $session_ids[$row->session_id] = $row->expires;
397 }
399
400 self::debug(__METHOD__ . ' --> Finished kicking first request abidencer');
401 }
static _destroy($a_session_id, $a_closing_context=null, $a_expired_at=null)
Destroy session.
const SESSION_CLOSE_FIRST

References $ilDB, $ilSetting, $query, $res, $row, ilSession\_destroy(), debug(), ilDBConstants\FETCHMODE_OBJECT, and ilSession\SESSION_CLOSE_FIRST.

Referenced by checkCurrentSessionIsAllowed().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ kickOneMinIdleSession()

static ilSessionControl::kickOneMinIdleSession ( array  $a_types)
staticprivate

if sessions exist that relates to given session types and idled longer than min idle parameter, this method deletes one of these sessions

@global ilDB $ilDB @global ilSetting $ilSetting

Parameters
array$a_types
Returns
boolean $deletionSuccess

Definition at line 334 of file class.ilSessionControl.php.

335 {
336 global $ilDB, $ilSetting;
337
338 $ts = time();
339 $min_idle = (int) $ilSetting->get('session_min_idle', self::DEFAULT_MIN_IDLE) * 60;
340 $max_idle = (int) $ilSetting->get('session_max_idle', self::DEFAULT_MAX_IDLE) * 60;
341
342 $query = "SELECT session_id,expires FROM usr_session WHERE expires >= %s " .
343 "AND (expires - %s) < (%s - %s) " .
344 "AND " . $ilDB->in('type', $a_types, false, 'integer') . " ORDER BY expires";
345
346 $res = $ilDB->queryF(
347 $query,
348 array('integer', 'integer', 'integer', 'integer'),
349 array($ts, $ts, $max_idle, $min_idle)
350 );
351
352 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
354
355 self::debug(__METHOD__ . ' --> successfully deleted one min idle session');
356
357 return true;
358 }
359
360 self::debug(__METHOD__ . ' --> no min idle session available for deletion');
361
362 return false;
363 }
const SESSION_CLOSE_IDLE

References $ilDB, $ilSetting, $query, $res, $row, ilSession\_destroy(), debug(), ilDBConstants\FETCHMODE_OBJECT, and ilSession\SESSION_CLOSE_IDLE.

Referenced by checkCurrentSessionIsAllowed().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeSessionCookie()

static ilSessionControl::removeSessionCookie ( )
staticprivate

removes a session cookie, so it is not sent by browser anymore

Definition at line 452 of file class.ilSessionControl.php.

453 {
454 ilUtil::setCookie(session_name(), 'deleted', true, true);
455 self::debug('Session cookie has been removed');
456 }
static setCookie($a_cookie_name, $a_cookie_value='', $a_also_set_super_global=true, $a_set_cookie_invalid=false)

References debug(), and ilUtil\setCookie().

Referenced by checkExpiredSession(), and handleLogoutEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $session_types_controlled

ilSessionControl::$session_types_controlled
static
Initial value:
= array(
self::SESSION_TYPE_USER,
self::SESSION_TYPE_ANONYM
)

Definition at line 59 of file class.ilSessionControl.php.

Referenced by ilSession\_writeData(), ilSessionStatistics\getNumberOfActiveRawSessions(), ilSessionStatistics\getRawData(), and ilSessionStatisticsGUI\renderCurrentBasics().

◆ $session_types_not_controlled

array ilSessionControl::$session_types_not_controlled
staticprivate
Initial value:
= array(
self::SESSION_TYPE_UNKNOWN,
self::SESSION_TYPE_SYSTEM,
self::SESSION_TYPE_ADMIN
)

all session types that will be involved when count of sessions will be determined or when idleing sessions will be destroyed

all session types that will be ignored when count of sessions will be determined or when idleing sessions will be destroyed

Definition at line 70 of file class.ilSessionControl.php.

◆ $setting_fields

array ilSessionControl::$setting_fields
staticprivate
Initial value:
= array(
'session_max_count',
'session_min_idle',
'session_max_idle',
'session_max_idle_after_first_request',
'session_allow_client_maintenance',
'session_handling_type'
)

all fieldnames that are saved in settings table

Definition at line 34 of file class.ilSessionControl.php.

Referenced by getSettingFields().

◆ DEFAULT_ALLOW_CLIENT_MAINTENANCE

const ilSessionControl::DEFAULT_ALLOW_CLIENT_MAINTENANCE = 1

◆ DEFAULT_MAX_COUNT

const ilSessionControl::DEFAULT_MAX_COUNT = 0

default value for settings that have not been defined in setup or administration yet

Definition at line 23 of file class.ilSessionControl.php.

Referenced by ilObjUserFolderGUI\generalSettingsObject(), ilSessionStatistics\getLimitForSlot(), ilSetup\getSessionSettings(), ilSessionStatisticsGUI\renderCurrentBasics(), and ilSessionStatistics\updateLimitLog().

◆ DEFAULT_MAX_IDLE

◆ DEFAULT_MAX_IDLE_AFTER_FIRST_REQUEST

const ilSessionControl::DEFAULT_MAX_IDLE_AFTER_FIRST_REQUEST = 1

◆ DEFAULT_MIN_IDLE

◆ INTERNAL_DEBUG

const ilSessionControl::INTERNAL_DEBUG = false

this controls the debuggin into a separate logfile (.

/session.log)

Definition at line 17 of file class.ilSessionControl.php.

◆ SESSION_TYPE_ADMIN

const ilSessionControl::SESSION_TYPE_ADMIN = 2

Definition at line 49 of file class.ilSessionControl.php.

Referenced by handleLoginEvent().

◆ SESSION_TYPE_ANONYM

const ilSessionControl::SESSION_TYPE_ANONYM = 4

Definition at line 51 of file class.ilSessionControl.php.

Referenced by handleLoginEvent().

◆ SESSION_TYPE_SYSTEM

const ilSessionControl::SESSION_TYPE_SYSTEM = 1

Definition at line 48 of file class.ilSessionControl.php.

Referenced by handleLoginEvent().

◆ SESSION_TYPE_UNKNOWN

const ilSessionControl::SESSION_TYPE_UNKNOWN = 0

session types from which one is assigned to each session

Definition at line 47 of file class.ilSessionControl.php.

Referenced by handleLogoutEvent(), and initSession().

◆ SESSION_TYPE_USER

const ilSessionControl::SESSION_TYPE_USER = 3

Definition at line 50 of file class.ilSessionControl.php.

Referenced by handleLoginEvent().


The documentation for this class was generated from the following file: