class Session::Base

Overview

Base class for session data

Subclass this to define your session's data structure. Override #authenticated? to reflect your authentication logic.

Example:

class UserSession < Session::Base
property? authenticated : Bool = false
property username : String? = nil

def authenticated? : Bool
  @authenticated
end
end

Included Modules

Defined in:

base.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(pull : JSON::PullParser) #

[View source]
def self.new #

[View source]

Instance Method Detail

def ==(other : Base) #

[View source]
def authenticated? : Bool #

[View source]
def client_fingerprint : ClientFingerprint | Nil #

The client the session was first used from, when session binding is enabled.


[View source]
def client_fingerprint=(client_fingerprint : ClientFingerprint | Nil) #

The client the session was first used from, when session binding is enabled.


[View source]
def created_at : Time #

[View source]
def expired? #

[View source]
def expires_at : Time #

Required in a stored or signed payload (see after_initialize): the default is for .new only.


[View source]
def expires_at=(expires_at : Time) #

Required in a stored or signed payload (see after_initialize): the default is for .new only.


[View source]
def flash : Flash #

Messages for the next request. They belong to the session, so they are saved with it and reach only the visitor they were meant for.


[View source]
def session_id : String #

[View source]
def time_until_expiry : Time::Span #

Get time remaining until session expires


[View source]
def touch : Nil #

Extend the session expiration time (for sliding expiration)


[View source]
def valid? #

[View source]