[][src]Struct actix_web::middleware::session::CookieSessionBackend

pub struct CookieSessionBackend(_);

Use cookies for session storage.

CookieSessionBackend creates sessions which are limited to storing fewer than 4000 bytes of data (as the payload must fit into a single cookie). An Internal Server Error is generated if the session contains more than 4000 bytes.

A cookie may have a security policy of signed or private. Each has a respective CookieSessionBackend constructor.

A signed cookie is stored on the client as plaintext alongside a signature such that the cookie may be viewed but not modified by the client.

A private cookie is stored on the client as encrypted text such that it may neither be viewed nor modified by the client.

The constructors take a key as an argument. This is the private key for cookie session - when this value is changed, all session data is lost. The constructors will panic if the key is less than 32 bytes in length.

The backend relies on cookie crate to create and read cookies. By default all cookies are percent encoded, but certain symbols may cause troubles when reading cookie, if they are not properly percent encoded.

Example

use actix_web::middleware::session::CookieSessionBackend;

let backend: CookieSessionBackend = CookieSessionBackend::signed(&[0; 32])
    .domain("www.rust-lang.org")
    .name("actix_session")
    .path("/")
    .secure(true);

Methods

impl CookieSessionBackend
[src]

Construct new signed CookieSessionBackend instance.

Panics if key length is less than 32 bytes.

Construct new private CookieSessionBackend instance.

Panics if key length is less than 32 bytes.

Sets the path field in the session cookie being built.

Sets the name field in the session cookie being built.

Sets the domain field in the session cookie being built.

Sets the secure field in the session cookie being built.

If the secure field is set, a cookie will only be transmitted when the connection is secure - i.e. https

Sets the http_only field in the session cookie being built.

Sets the same_site field in the session cookie being built.

Sets the max-age field in the session cookie being built.

Trait Implementations

impl<S> SessionBackend<S> for CookieSessionBackend
[src]

Session item

Future that reads session

Parse the session from request and load data from a storage backend.

Auto Trait Implementations

impl !Send for CookieSessionBackend

impl !Sync for CookieSessionBackend

Blanket Implementations

impl<T> From for T
[src]

Performs the conversion.

impl<T, U> Into for T where
    U: From<T>, 
[src]

Performs the conversion.

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Mutably borrows from an owned value. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

impl<T> Erased for T