ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
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

ilRbacSystem $rbacsystem

Parameters
integer$a_user_id
Returns
boolean access

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

References $DIC.

494  {
495  if (!(int) $a_user_id) {
496  return false;
497  }
498 
499  global $DIC;
500 
501  $rbacsystem = $DIC['rbacsystem'];
502 
503  $access = $rbacsystem->checkAccessOfUser(
504  $a_user_id,
505  'read,visible',
506  SYSTEM_FOLDER_ID
507  );
508 
509  return $access;
510  }
global $DIC
Definition: saml.php:7

◆ 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

ilSetting $ilSetting ilAppEventHandler $ilAppEventHandler

Parameters
ilAuthSession$a_auth

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

References $_SESSION, $DIC, $ilSetting, ilSessionStatistics\createRawEntry(), ilAuthSession\logout(), ilUtil\redirect(), ilSession\SESSION_CLOSE_LIMIT, and ilSession\setClosingContext().

243  {
244  global $DIC;
245 
246  $ilSetting = $DIC['ilSetting'];
247 
248  $max_sessions = (int) $ilSetting->get('session_max_count', self::DEFAULT_MAX_COUNT);
249 
250  if ($max_sessions > 0) {
251  // get total number of sessions
252  $num_sessions = self::getExistingSessionCount(self::$session_types_controlled);
253 
254  self::debug(__METHOD__ . "--> total existing sessions (" . $num_sessions . ")");
255 
256  if (($num_sessions + 1) > $max_sessions) {
257  self::debug(__METHOD__ . ' --> limit for session pool reached, but try kicking some first request abidencer');
258 
259  self::kickFirstRequestAbidencer(self::$session_types_controlled);
260 
261  // get total number of sessions again
262  $num_sessions = self::getExistingSessionCount(self::$session_types_controlled);
263 
264  if (($num_sessions + 1) > $max_sessions) {
265  self::debug(__METHOD__ . ' --> limit for session pool still reached so try kick one min idle session');
266 
267  self::kickOneMinIdleSession(self::$session_types_controlled);
268 
269  // get total number of sessions again
270  $num_sessions = self::getExistingSessionCount(self::$session_types_controlled);
271 
272  if (($num_sessions + 1) > $max_sessions) {
273  self::debug(__METHOD__ . ' --> limit for session pool still reached so logout session (' . session_id() . ') and trigger event');
274 
276 
277  // as the session is opened and closed in one request, there
278  // is no proper session yet and we have to do this ourselves
280  session_id(),
281  $_SESSION['SessionType'],
282  time(),
283  $a_user_id
284  );
285 
286  $auth->logout();
287 
288  // Trigger reachedSessionPoolLimit Event
289  global $DIC;
290 
291  $ilAppEventHandler = $DIC['ilAppEventHandler'];
292  $ilAppEventHandler->raise(
293  'Services/Authentication',
294  'reachedSessionPoolLimit',
295  array()
296  );
297 
298  // auth won't do this, we need to close session properly
299  // already done in new implementation
300  // session_destroy();
301 
302  ilUtil::redirect('login.php?reached_session_limit=true');
303  } else {
304  self::debug(__METHOD__ . ' --> limit of session pool not reached anymore after kicking one min idle session');
305  }
306  } else {
307  self::debug(__METHOD__ . ' --> limit of session pool not reached anymore after kicking some first request abidencer');
308  }
309  } else {
310  self::debug(__METHOD__ . ' --> limit for session pool not reached yet');
311  }
312  } else {
313  self::debug(__METHOD__ . ' --> limit for session pool not set so check is bypassed');
314  }
315  }
logout()
Logout user => stop session.
$_SESSION["AccountId"]
global $DIC
Definition: saml.php:7
static createRawEntry($a_session_id, $a_session_type, $a_timestamp, $a_user_id)
Create raw data entry.
const SESSION_CLOSE_LIMIT
static setClosingContext($a_context)
set closing context (for statistics)
global $ilSetting
Definition: privfeed.php:17
static redirect($a_script)
+ Here is the call 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

ilSetting $ilSetting ilLanguage $lng ilAppEventHandler $ilAppEventHandler

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

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

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

◆ debug()

static ilSessionControl::debug (   $a_debug_log_message)
staticprivate

logs the given debug message in ilLog

ilLog $ilLog

Parameters
string$a_debug_log_message

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

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

519  {
520  global $DIC;
521 
522  $ilLog = $DIC['ilLog'];
523 
524  if (DEVMODE) {
525  $ilLog->write($a_debug_log_message, 'message');
526  }
527 
528  if (self::INTERNAL_DEBUG) {
529  error_log($a_debug_log_message . "\n", 3, 'session.log');
530  }
531  }
global $DIC
Definition: saml.php:7
+ Here is the call graph for this function:

◆ getExistingSessionCount()

static ilSessionControl::getExistingSessionCount ( array  $a_types)
static

returns number of valid sessions relating to given session types

ilDB $ilDB

Parameters
array$a_types
Returns
integer num_sessions

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

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

Referenced by ilSessionStatisticsGUI\renderCurrentBasics().

325  {
326  global $DIC;
327 
328  $ilDB = $DIC['ilDB'];
329 
330  $ts = time();
331 
332  $query = "SELECT count(session_id) AS num_sessions FROM usr_session " .
333  "WHERE expires > %s " .
334  "AND " . $ilDB->in('type', $a_types, false, 'integer');
335 
336  $res = $ilDB->queryF($query, array('integer'), array($ts));
338 
339  return $row->num_sessions;
340  }
global $DIC
Definition: saml.php:7
foreach($_POST as $key=> $value) $res
$query
$row
global $ilDB
+ 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 538 of file class.ilSessionControl.php.

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

539  {
540  return self::$setting_fields;
541  }
+ 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 168 of file class.ilSessionControl.php.

References $_SESSION, $DIC, $ilSetting, $type, and ilObjUser\_lookupId().

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

169  {
170  global $DIC;
171 
172  $ilSetting = $DIC['ilSetting'];
173 
174  require_once 'Services/User/classes/class.ilObjUser.php';
175  $user_id = ilObjUser::_lookupId($a_login);
176 
177  // we need the session type for the session statistics
178  // regardless of the current session handling type
179  switch (true) {
180  case isset($_ENV['SHELL']):
181  $type = self::SESSION_TYPE_SYSTEM;
182  break;
183 
184  case $user_id == ANONYMOUS_USER_ID:
185  $type = self::SESSION_TYPE_ANONYM;
186  break;
187 
188  case self::checkAdministrationPermission($user_id):
189  $type = self::SESSION_TYPE_ADMIN;
190  break;
191 
192  default:
193  $type = self::SESSION_TYPE_USER;
194  break;
195  }
196 
197  $_SESSION['SessionType'] = $type;
198  self::debug(__METHOD__ . " --> update sessions type to (" . $type . ")");
199 
200  // do not handle login event in fixed duration mode
201  if ($ilSetting->get('session_handling_type', 0) != 1) {
202  return true;
203  }
204 
205  if (in_array($type, self::$session_types_controlled)) {
206  return self::checkCurrentSessionIsAllowed($auth_session, $user_id);
207  }
208  }
$_SESSION["AccountId"]
$type
global $DIC
Definition: saml.php:7
static _lookupId($a_user_str)
Lookup id by login.
global $ilSetting
Definition: privfeed.php:17
+ 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 213 of file class.ilSessionControl.php.

References $_SESSION, $DIC, and $ilSetting.

Referenced by ilAuthBase\logoutObserver().

214  {
215  global $DIC;
216 
217  $ilSetting = $DIC['ilSetting'];
218 
219  // do not handle logout event in fixed duration mode
220  if ($ilSetting->get('session_handling_type', 0) != 1) {
221  return;
222  }
223 
224  $_SESSION['SessionType'] = self::SESSION_TYPE_UNKNOWN;
225  self::debug(__METHOD__ . " --> reset sessions type to (" . $_SESSION['SessionType'] . ")");
226 
227  // session_destroy() is called in auth, so raw data will be updated
228 
229  self::removeSessionCookie();
230  }
$_SESSION["AccountId"]
global $DIC
Definition: saml.php:7
global $ilSetting
Definition: privfeed.php:17
+ 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 144 of file class.ilSessionControl.php.

References $_SESSION, $DIC, and $ilSetting.

Referenced by ilAuthBase\initAuth().

145  {
146  global $DIC;
147 
148  $ilSetting = $DIC['ilSetting'];
149 
150  // do not init session type in fixed duration mode
151  if ($ilSetting->get('session_handling_type', 0) != 1) {
152  return;
153  }
154 
155  if (!isset($_SESSION['SessionType'])) {
156  $_SESSION['SessionType'] = self::SESSION_TYPE_UNKNOWN;
157  self::debug(__METHOD__ . " --> init session with type (" . $_SESSION['SessionType'] . ")");
158  } else {
159  self::debug(__METHOD__ . " --> keep sessions type on (" . $_SESSION['SessionType'] . ")");
160  }
161  }
$_SESSION["AccountId"]
global $DIC
Definition: saml.php:7
global $ilSetting
Definition: privfeed.php:17
+ 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

ilDB $ilDB ilSetting $ilSetting

Parameters
string$a_sid
Returns
boolean session_valid

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

References $DIC, $ilDB, $ilSetting, $query, $res, and $row.

437  {
438  global $DIC;
439 
440  $ilDB = $DIC['ilDB'];
441  $ilSetting = $DIC['ilSetting'];
442 
443  $query = "SELECT session_id, expires FROM usr_session " .
444  "WHERE session_id = %s";
445 
446  $res = $ilDB->queryF($query, array('text'), array($a_sid));
447 
448  $ts = time();
449 
450  $sessions = array();
451 
452  while ($row = $ilDB->fetchAssoc($res)) {
453  if ($row['expires'] > $ts) {
454  self::debug(__METHOD__ . ' --> Found a valid session with id (' . $a_sid . ')');
455  $sessions[] = $row;
456  } else {
457  self::debug(__METHOD__ . ' --> Found an expired session with id (' . $a_sid . ')');
458  }
459  }
460 
461  if (count($sessions) == 1) {
462  self::debug(__METHOD__ . ' --> Exact one valid session found for session id (' . $a_sid . ')');
463 
464  return true;
465  } else {
466  if (count($sessions) > 1) {
467  self::debug(__METHOD__ . ' --> Strange!!! More than one sessions found for given session id! (' . $a_sid . ')');
468  } else {
469  self::debug(__METHOD__ . ' --> No valid session found for session id (' . $a_sid . ')');
470  }
471 
472  return false;
473  }
474  }
global $DIC
Definition: saml.php:7
foreach($_POST as $key=> $value) $res
$query
$row
global $ilSetting
Definition: privfeed.php:17
global $ilDB

◆ 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 ;-)

ilDB $ilDB ilSetting $ilSetting

Returns
<type>

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

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

395  {
396  global $DIC;
397 
398  $ilDB = $DIC['ilDB'];
399  $ilSetting = $DIC['ilSetting'];
400 
401  $max_idle_after_first_request = (int) $ilSetting->get('session_max_idle_after_first_request') * 60;
402 
403  if ((int) $max_idle_after_first_request == 0) {
404  return;
405  }
406 
407  $query = "SELECT session_id,expires FROM usr_session WHERE " .
408  "(ctime - createtime) < %s " .
409  "AND (%s - createtime) > %s " .
410  "AND " . $ilDB->in('type', $a_types, false, 'integer');
411 
412  $res = $ilDB->queryF(
413  $query,
414  array('integer', 'integer', 'integer'),
415  array($max_idle_after_first_request, time(), $max_idle_after_first_request)
416  );
417 
418  $session_ids = array();
419  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
420  $session_ids[$row->session_id] = $row->expires;
421  }
423 
424  self::debug(__METHOD__ . ' --> Finished kicking first request abidencer');
425  }
static _destroy($a_session_id, $a_closing_context=null, $a_expired_at=null)
Destroy session.
global $DIC
Definition: saml.php:7
foreach($_POST as $key=> $value) $res
$query
$row
global $ilSetting
Definition: privfeed.php:17
global $ilDB
const SESSION_CLOSE_FIRST
+ Here is the call 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

ilDB $ilDB ilSetting $ilSetting

Parameters
array$a_types
Returns
boolean $deletionSuccess

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

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

353  {
354  global $DIC;
355 
356  $ilDB = $DIC['ilDB'];
357  $ilSetting = $DIC['ilSetting'];
358 
359  $ts = time();
360  $min_idle = (int) $ilSetting->get('session_min_idle', self::DEFAULT_MIN_IDLE) * 60;
361  $max_idle = (int) $ilSetting->get('session_max_idle', self::DEFAULT_MAX_IDLE) * 60;
362 
363  $query = "SELECT session_id,expires FROM usr_session WHERE expires >= %s " .
364  "AND (expires - %s) < (%s - %s) " .
365  "AND " . $ilDB->in('type', $a_types, false, 'integer') . " ORDER BY expires";
366 
367  $res = $ilDB->queryF(
368  $query,
369  array('integer', 'integer', 'integer', 'integer'),
370  array($ts, $ts, $max_idle, $min_idle)
371  );
372 
373  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
375 
376  self::debug(__METHOD__ . ' --> successfully deleted one min idle session');
377 
378  return true;
379  }
380 
381  self::debug(__METHOD__ . ' --> no min idle session available for deletion');
382 
383  return false;
384  }
const SESSION_CLOSE_IDLE
static _destroy($a_session_id, $a_closing_context=null, $a_expired_at=null)
Destroy session.
global $DIC
Definition: saml.php:7
foreach($_POST as $key=> $value) $res
$query
$row
global $ilSetting
Definition: privfeed.php:17
global $ilDB
+ Here is the call graph for this function:

◆ removeSessionCookie()

static ilSessionControl::removeSessionCookie ( )
staticprivate

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

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

References ilUtil\setCookie().

480  {
481  ilUtil::setCookie(session_name(), 'deleted', true, true);
482  self::debug('Session cookie has been removed');
483  }
static setCookie($a_cookie_name, $a_cookie_value='', $a_also_set_super_global=true, $a_set_cookie_invalid=false)
+ Here is the call 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.

◆ 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.

◆ SESSION_TYPE_ANONYM

const ilSessionControl::SESSION_TYPE_ANONYM = 4

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

◆ SESSION_TYPE_SYSTEM

const ilSessionControl::SESSION_TYPE_SYSTEM = 1

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

◆ 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.

◆ SESSION_TYPE_USER

const ilSessionControl::SESSION_TYPE_USER = 3

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


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