Struct actix_web::middleware::session::CookieSessionBackend
[−]
[src]
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.
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]
pub fn signed(key: &[u8]) -> CookieSessionBackend[src]
Construct new signed CookieSessionBackend instance.
Panics if key length is less than 32 bytes.
pub fn private(key: &[u8]) -> CookieSessionBackend[src]
Construct new private CookieSessionBackend instance.
Panics if key length is less than 32 bytes.
pub fn path<S: Into<String>>(self, value: S) -> CookieSessionBackend[src]
Sets the path field in the session cookie being built.
pub fn name<S: Into<String>>(self, value: S) -> CookieSessionBackend[src]
Sets the name field in the session cookie being built.
pub fn domain<S: Into<String>>(self, value: S) -> CookieSessionBackend[src]
Sets the domain field in the session cookie being built.
pub fn secure(self, value: bool) -> CookieSessionBackend[src]
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
pub fn max_age(self, value: Duration) -> CookieSessionBackend[src]
Sets the max-age field in the session cookie being built.