1个不稳定版本
0.3.0-r1 | 2020年1月18日 |
---|
#13 in #会话中间件
470KB
10K SLoC
actix web框架的会话
文档与社区资源
- 用户指南
- API文档
- 在gitter上聊天
- Cargo包: actix-session
- 最低支持的Rust版本:1.34或更高
lib.rs
:
用户会话。
Actix提供了一般会话管理解决方案。会话中间件可以提供不同的实现,可以通过通用会话API访问。
默认情况下,只实现了cookie会话后端。可以添加其他后端实现。
一般来说,您需要插入一个 会话 中间件并初始化它,例如一个 CookieSessionBackend
。要访问会话数据,必须使用 会话 提取器。会话提取器允许我们获取或设置会话数据。
use requiem_web::{web, App, HttpServer, HttpResponse, Error};
use requiem_session::{Session, CookieSession};
fn index(session: Session) -> Result<&'static str, Error> {
// access session data
if let Some(count) = session.get::<i32>("counter")? {
println!("SESSION value: {}", count);
session.set("counter", count+1)?;
} else {
session.set("counter", 1)?;
}
Ok("Welcome!")
}
#[requiem_rt::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(
|| App::new().wrap(
CookieSession::signed(&[0; 32]) // <- create cookie based session middleware
.secure(false)
)
.service(web::resource("/").to(|| HttpResponse::Ok())))
.bind("127.0.0.1:59880")?
.run()
.await
}
依赖关系
~29MB
~623K SLoC