rskit_authz/checker.rs
1//! Lightweight authorization traits.
2
3use crate::engine::{Decision, Request};
4
5/// Policy enforcement point for authorization checks.
6pub trait Checker: Send + Sync {
7 /// Evaluate a request and return the full decision.
8 fn authorize(&self, request: &Request) -> Decision;
9
10 /// Return `true` when the request is allowed.
11 fn check(&self, request: &Request) -> bool {
12 self.authorize(request).allowed
13 }
14}