AuthSession#

NAME#

Kernel::System::AuthSession - global session interface

DESCRIPTION#

All session functions.

PUBLIC INTERFACE#

new()#

Don’t use the constructor directly, use the ObjectManager instead:

my $SessionObject = $Kernel::OM->Get('Kernel::System::AuthSession');

CheckSessionID()#

checks a session, returns true (session ok) or false (session invalid)

my $Ok = $SessionObject->CheckSessionID(
    SessionID => '1234567890123456',
);

SessionIDErrorMessage()#

returns an error in the session handling

my $Message = $SessionObject->SessionIDErrorMessage();

GetSessionIDData()#

get session data in a hash

my %Data = $SessionObject->GetSessionIDData(
    SessionID => '1234567890123456',
);

Returns:

%Data = (
    UserSessionStart    => '1293801801',
    UserRemoteAddr      => '127.0.0.1',
    UserRemoteUserAgent => 'Some User Agent x.x',
    UserLastname        => 'SomeLastName',
    UserFirstname       => 'SomeFirstname',
    # and all other preferences values
);

CreateSessionID()#

create a new session with given data

my $SessionID = $SessionObject->CreateSessionID(
    UserLogin => 'root',
    UserEmail => 'root@example.com',
);

RemoveSessionID()#

removes a session and returns true (session deleted), false (if session can’t get deleted)

$SessionObject->RemoveSessionID(SessionID => '1234567890123456');

RemoveSessionByUser()#

Removes a session from a user.

$SessionObject->RemoveSessionByUser(
    UserLogin => 'some_user_login'
);

Returns true (session deleted) or false (if session can’t get deleted).

UpdateSessionID()#

update session info by key and value, returns true (if ok) and false (if can’t update)

$SessionObject->UpdateSessionID(
    SessionID => '1234567890123456',
    Key       => 'LastScreenOverview',
    Value     => 'SomeInfo',
);

GetExpiredSessionIDs()#

returns a array of an array of session ids that have expired, and one array of session ids that have been idle for too long.

my @Sessions = $SessionObject->GetExpiredSessionIDs();

my @ExpiredSession = @{$Session[0]};
my @ExpiredIdle    = @{$Session[1]};

GetAllSessionIDs()#

returns an array with all session ids

my @Sessions = $SessionObject->GetAllSessionIDs();

GetActiveSessions()#

Get the current active sessions for the given UserType.

my %Result = $SessionObject->GetActiveSessions(
    UserType => '(User|Customer)',
);

returns

%Result = (
    Total => 8,
    PerUser => {
        UserID1 => 2,
        UserID2 => 1,
    },
);

GetOrphanedSessionIDs()#

returns an array with orphaned session ids, missing user-login defines an orphaned session for now

my @Sessions = $SessionObject->GetOrphanedSessionIDs();

CleanUp()#

clean-up of sessions in your system

$SessionObject->CleanUp();