Struct actix_web_grants::PermissionGuard [−][src]
pub struct PermissionGuard { /* fields omitted */ }
Expand description
Implementation of Guard trait for validate permissions
use actix_web::dev::ServiceRequest;
use actix_web::{web, App, Error, HttpResponse, HttpServer};
use actix_web_grants::{GrantsMiddleware, PermissionGuard};
use std::sync::Arc;
fn main() {
HttpServer::new(|| {
App::new()
.wrap(GrantsMiddleware::with_extractor(extract))
.service(web::resource("/admin")
.to(|| async { HttpResponse::Ok().finish() })
.guard(PermissionGuard::new("ROLE_ADMIN".to_string())))
});
}
async fn extract(_req: &ServiceRequest) -> Result<Vec<String>, Error> {
// Here is a place for your code to get user permissions/grants/permissions from a request
// For example from a token or database
// Stub example
Ok(vec!["ROLE_ADMIN".to_string()])
}
Implementations
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for PermissionGuard
impl Send for PermissionGuard
impl Sync for PermissionGuard
impl Unpin for PermissionGuard
impl UnwindSafe for PermissionGuard
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more