[−][src]Struct actix_web::middleware::session::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]
impl CookieSessionBackend
pub fn signed(key: &[u8]) -> CookieSessionBackend
[src]
pub fn signed(key: &[u8]) -> CookieSessionBackend
Construct new signed CookieSessionBackend
instance.
Panics if key length is less than 32 bytes.
pub fn private(key: &[u8]) -> CookieSessionBackend
[src]
pub fn private(key: &[u8]) -> CookieSessionBackend
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]
pub fn path<S: Into<String>>(self, value: S) -> CookieSessionBackend
Sets the path
field in the session cookie being built.
pub fn name<S: Into<String>>(self, value: S) -> CookieSessionBackend
[src]
pub fn name<S: Into<String>>(self, value: S) -> CookieSessionBackend
Sets the name
field in the session cookie being built.
pub fn domain<S: Into<String>>(self, value: S) -> CookieSessionBackend
[src]
pub fn domain<S: Into<String>>(self, value: S) -> CookieSessionBackend
Sets the domain
field in the session cookie being built.
pub fn secure(self, value: bool) -> CookieSessionBackend
[src]
pub fn secure(self, value: bool) -> CookieSessionBackend
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 http_only(self, value: bool) -> CookieSessionBackend
[src]
pub fn http_only(self, value: bool) -> CookieSessionBackend
Sets the http_only
field in the session cookie being built.
pub fn same_site(self, value: SameSite) -> CookieSessionBackend
[src]
pub fn same_site(self, value: SameSite) -> CookieSessionBackend
Sets the same_site
field in the session cookie being built.
pub fn max_age(self, value: Duration) -> CookieSessionBackend
[src]
pub fn max_age(self, value: Duration) -> CookieSessionBackend
Sets the max-age
field in the session cookie being built.
Trait Implementations
impl<S> SessionBackend<S> for CookieSessionBackend
[src]
impl<S> SessionBackend<S> for CookieSessionBackend
type Session = CookieSession
Session item
type ReadFuture = FutureResult<CookieSession, Error>
Future that reads session
fn from_request(&self, req: &mut HttpRequest<S>) -> Self::ReadFuture
[src]
fn from_request(&self, req: &mut HttpRequest<S>) -> Self::ReadFuture
Parse the session from request and load data from a storage backend.
Auto Trait Implementations
impl !Send for CookieSessionBackend
impl !Send for CookieSessionBackend
impl !Sync for CookieSessionBackend
impl !Sync for CookieSessionBackend
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 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
impl<T> Erased for T