1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-27 17:22:57 +01:00
actix-extras/actix-redis
Juan J. Jimenez-Anca 8d635f71fb
allow session-only cookies (#161)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-03-07 04:26:06 +09:00
..
examples Clean up deps and macro_use (#81) 2020-07-14 11:20:42 +01:00
src allow session-only cookies (#161) 2021-03-07 04:26:06 +09:00
tests move redis to own module 2020-01-29 11:41:40 +00:00
Cargo.toml Unify homepage/repository urls in Cargo manifests (#111) 2020-10-03 01:32:01 +01:00
CHANGES.md allow session-only cookies (#161) 2021-03-07 04:26:06 +09:00
LICENSE-APACHE merge project metadata 2020-01-30 00:31:25 +00:00
LICENSE-MIT merge project metadata 2020-01-30 00:31:25 +00:00
README.md Documentation update: RedisSessionBackend is renamed to RedisSession 2020-05-17 14:46:41 +03:00

actix-redis

crates.io Documentation Dependency Status Apache 2.0 or MIT licensed Join the chat at https://gitter.im/actix/actix

Redis integration for actix framework.

Documentation

Redis session backend

Use redis as session storage.

You need to pass an address of the redis server and random value to the constructor of RedisSession. This is private key for cookie session, When this value is changed, all session data is lost.

Note that whatever you write into your session is visible by the user (but not modifiable).

Constructor panics if key length is less than 32 bytes.

use actix_web::{App, HttpServer, web, middleware};
use actix_web::middleware::session::SessionStorage;
use actix_redis::RedisSession;

#[actix_rt::main]
async fn main() -> std::io::Result {
    HttpServer::new(|| App::new()
        // enable logger
        .middleware(middleware::Logger::default())
        // cookie session middleware
        .middleware(SessionStorage::new(
            RedisSession::new("127.0.0.1:6379", &[0; 32])
        ))
        // register simple route, handle all methods
        .service(web::resource("/").to(index))
    )
    .bind("0.0.0.0:8080")?
    .start()
    .await
}

License

This project is licensed under either of

at your option.

Code of Conduct

Contribution to the actix-redis crate is organized under the terms of the Contributor Covenant, the maintainer of actix-redis, @fafhrd91, promises to intervene to uphold that code of conduct.