Expand description
Request identity service for ntex applications.
IdentityService middleware can be used with different policies types to store identity information.
By default, only cookie identity policy is implemented. Other backend implementations can be added separately.
CookieIdentityPolicy uses cookies as identity storage.
To access current request identity Identity extractor should be used.
use ntex::web;
use ntex_identity::{Identity, CookieIdentityPolicy, IdentityService};
async fn index(id: Identity) -> String {
// access request identity
if let Some(id) = id.identity() {
format!("Welcome! {}", id)
} else {
"Welcome Anonymous!".to_owned()
}
}
async fn login(id: Identity) -> web::HttpResponse {
id.remember("User1".to_owned()); // <- remember identity
web::HttpResponse::Ok().finish()
}
async fn logout(id: Identity) -> web::HttpResponse {
id.forget(); // <- remove identity
web::HttpResponse::Ok().finish()
}
let app = web::App::new().wrap(IdentityService::new(
// <- create identity middleware
CookieIdentityPolicy::new(&[0; 32]) // <- create cookie identity policy
.name("auth-cookie")
.secure(false)))
.service(web::resource("/index.html").to(index))
.service(web::resource("/login.html").to(login))
.service(web::resource("/logout.html").to(logout));
Structs§
- Cookie
Identity Policy - Use cookies for request identity storage.
- Identity
- The extractor type to obtain your identity from a request.
- Identity
Service - Request identity middleware
Enums§
Traits§
- Identity
Policy - Identity policy definition.
- Request
Identity - Helper trait that allows to get Identity.