1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-24 07:53:00 +01:00
Go to file
2019-07-01 14:20:18 -04:00
examples update actix and actix-web 2019-03-29 11:31:48 -07:00
src updated logic to create session on new request wo cookie 2019-07-01 14:20:18 -04:00
tests update actix and actix-web 2019-03-29 11:31:48 -07:00
.gitignore updated session logic to support login and logout functionality 2019-06-12 08:14:18 -04:00
.travis.yml remove rust 1.26 2019-03-30 09:44:18 -07:00
Cargo.toml prepare release 2019-05-18 11:24:26 -07:00
CHANGES.md prepare release 2019-05-18 11:24:26 -07:00
LICENSE-APACHE initial import 2017-12-28 21:14:04 -08:00
LICENSE-MIT initial import 2017-12-28 21:14:04 -08:00
README.md update readme 2018-08-02 11:39:41 -07:00
rustfmt.toml update actix and actix-web 2019-03-29 11:31:48 -07:00

Actix redis Build Status codecov crates.io

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 RedisSessionBackend. 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.

extern crate actix_web;
extern crate actix_redis;

use actix_web::{App, server, middleware};
use actix_web::middleware::session::SessionStorage;
use actix_redis::RedisSessionBackend;

fn main() {
    ::std::env::set_var("RUST_LOG", "actix_web=info");
    env_logger::init();
    let sys = actix::System::new("basic-example");

    server::new(
        || App::new()
            // enable logger
            .middleware(middleware::Logger::default())
            // cookie session middleware
            .middleware(SessionStorage::new(
                RedisSessionBackend::new("127.0.0.1:6379", &[0; 32])
            ))
            // register simple route, handle all methods
            .resource("/", |r| r.f(index)))
        .bind("0.0.0.0:8080").unwrap()
        .start();

    let _ = sys.run();
}

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.