pub struct SecurityPolicyLayer { /* private fields */ }Expand description
Carrier-only authorization layer (ADR-0061 Task 2.9 strict mode).
The layer NEVER authenticates: transports mint the typed carrier at the
request boundary (kernel_authenticate + install_carrier) and the
pre-pipeline dispatch check rejects carrier-less Exchanges on non-Public
routes before the pipeline runs. The layer therefore sees an Exchange
that already carries the sealed [AuthenticatedPrincipal] and only
evaluates the route policy against it — no carrier, no authorization
path (fail closed). The Phase-1 legacy Bearer and anonymous-principal
branches were deleted here.
Implementations§
Source§impl SecurityPolicyLayer
impl SecurityPolicyLayer
pub fn new(policy: Arc<dyn SecurityPolicy>, transport: TransportId) -> Self
Trait Implementations§
Source§impl Clone for SecurityPolicyLayer
impl Clone for SecurityPolicyLayer
Source§fn clone(&self) -> SecurityPolicyLayer
fn clone(&self) -> SecurityPolicyLayer
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for SecurityPolicyLayer
impl !UnwindSafe for SecurityPolicyLayer
impl Freeze for SecurityPolicyLayer
impl Send for SecurityPolicyLayer
impl Sync for SecurityPolicyLayer
impl Unpin for SecurityPolicyLayer
impl UnsafeUnpin for SecurityPolicyLayer
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