pub struct RarManager { /* private fields */ }Expand description
Main RAR manager
Implementations§
Source§impl RarManager
impl RarManager
Sourcepub fn new(config: RarConfig, session_manager: Arc<SessionManager>) -> Self
pub fn new(config: RarConfig, session_manager: Arc<SessionManager>) -> Self
Create a new RAR manager
Sourcepub fn register_processor(
&mut self,
resource_type: String,
processor: Arc<dyn RarAuthorizationProcessor>,
)
pub fn register_processor( &mut self, resource_type: String, processor: Arc<dyn RarAuthorizationProcessor>, )
Register an authorization processor
Validate authorization request
Process authorization request
Sourcepub async fn discover_resources(
&self,
request: RarResourceDiscoveryRequest,
) -> Result<RarResourceDiscoveryResponse>
pub async fn discover_resources( &self, request: RarResourceDiscoveryRequest, ) -> Result<RarResourceDiscoveryResponse>
Discover available resources
Get authorization decision by request ID
Sourcepub async fn cleanup_expired_decisions(&self) -> usize
pub async fn cleanup_expired_decisions(&self) -> usize
Clean up expired decisions
Get session-aware authorization context for validation
Revoke authorization decisions for a session (e.g., during logout)
Auto Trait Implementations§
impl Freeze for RarManager
impl !RefUnwindSafe for RarManager
impl Send for RarManager
impl Sync for RarManager
impl Unpin for RarManager
impl !UnwindSafe for RarManager
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more