Struct mailpot_web::RequireAuthorizationLayer
source · pub struct RequireAuthorizationLayer<UserId, User, Role = ()>(UserId, User, Role);
Expand description
A wrapper around tower_http::auth::RequireAuthorizationLayer
which
provides login authorization.
Tuple Fields§
§0: UserId
§1: User
§2: Role
Implementations§
source§impl<UserId, User, Role> RequireAuthorizationLayer<UserId, User, Role>where
Role: PartialOrd<Role> + PartialEq<Role> + Clone + Send + Sync + 'static,
User: AuthUser<UserId, Role>,
impl<UserId, User, Role> RequireAuthorizationLayer<UserId, User, Role>where Role: PartialOrd<Role> + PartialEq<Role> + Clone + Send + Sync + 'static, User: AuthUser<UserId, Role>,
sourcepub fn login<ResBody>(
) -> RequireAuthorizationLayer<Login<UserId, User, ResBody, Role>>where
ResBody: Body + Default,
pub fn login<ResBody>( ) -> RequireAuthorizationLayer<Login<UserId, User, ResBody, Role>>where ResBody: Body + Default,
Authorizes requests by requiring a logged in user, otherwise it rejects
with http::StatusCode::UNAUTHORIZED
.
sourcepub fn login_with_role<ResBody>(
role_bounds: impl RangeBounds<Role> + Clone + Send + Sync + 'static
) -> RequireAuthorizationLayer<Login<UserId, User, ResBody, Role>>where
ResBody: Body + Default,
pub fn login_with_role<ResBody>( role_bounds: impl RangeBounds<Role> + Clone + Send + Sync + 'static ) -> RequireAuthorizationLayer<Login<UserId, User, ResBody, Role>>where ResBody: Body + Default,
Authorizes requests by requiring a logged in user to have a specific
range of roles, otherwise it rejects with
http::StatusCode::UNAUTHORIZED
.
Auto Trait Implementations§
impl<UserId, User, Role> RefUnwindSafe for RequireAuthorizationLayer<UserId, User, Role>where Role: RefUnwindSafe, User: RefUnwindSafe, UserId: RefUnwindSafe,
impl<UserId, User, Role> Send for RequireAuthorizationLayer<UserId, User, Role>where Role: Send, User: Send, UserId: Send,
impl<UserId, User, Role> Sync for RequireAuthorizationLayer<UserId, User, Role>where Role: Sync, User: Sync, UserId: Sync,
impl<UserId, User, Role> Unpin for RequireAuthorizationLayer<UserId, User, Role>where Role: Unpin, User: Unpin, UserId: Unpin,
impl<UserId, User, Role> UnwindSafe for RequireAuthorizationLayer<UserId, User, Role>where Role: UnwindSafe, User: UnwindSafe, UserId: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more