19 declare(strict_types=1);
31 private string $id =
'';
43 if (self::$instance) {
44 return self::$instance;
46 return self::$instance =
new self(
$logger);
57 public function init(): bool
59 if (session_status() === PHP_SESSION_ACTIVE) {
60 $this->
getLogger()->error(__METHOD__ .
' called with active session.');
67 $this->
setId(session_id());
72 $this->
getLogger()->debug(
'Resuming old session for user: ' . $user_id);
74 $this->expired = (bool)
ilSession::get(self::SESSION_AUTH_EXPIRED);
75 $this->authenticated = (bool)
ilSession::get(self::SESSION_AUTH_AUTHENTICATED);
79 $this->
getLogger()->debug(
'Started new session.');
81 $this->expired =
false;
82 $this->authenticated =
false;
100 $old_session_id = session_id();
101 session_regenerate_id(
true);
102 $this->
setId(session_id());
103 $this->
getLogger()->info(
'Session regenerate id: [' . substr($old_session_id, 0, 5) .
'] -> [' . substr($this->
getId(), 0, 5) .
']');
112 session_regenerate_id(
true);
132 $this->authenticated = $a_status;
133 $this->user_id = $a_user_id;
155 $this->expired = $a_status;
164 $this->user_id = $a_id;
195 protected function setId(
string $a_id): void
static get(string $a_var)
logout()
Logout user => stop session.
setUserId(int $a_id)
Set authenticated user id.
regenerateId()
Regenerate id.
isExpired()
Check if current is or was expired in last request.
isAuthenticated()
Check if session is authenticated.
static lookupExpireTime(string $a_session_id)
Lookup expire time for a specific session.
getUserId()
Get authenticated user id.
init()
Start auth session.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
const string SESSION_AUTH_EXPIRED
setExpired(bool $a_status)
Set session expired.
__construct(ilLogger $logger)
isValid()
Check if current session is valid (authenticated and not expired)
setAuthenticated(bool $a_status, int $a_user_id)
Set authenticated.
static getInstance(ilLogger $logger)
validateExpiration()
Check expired value of session.
static ilAuthSession $instance
const string SESSION_AUTH_USER_ID
const string SESSION_AUTH_AUTHENTICATED
static set(string $a_var, $a_val)
Set a value.
setId(string $a_id)
Set id.