pub enum HandleIdentity {
Credentialless,
CatalogUser {
username: String,
user_id: u64,
created_version: u64,
},
ServicePrincipal {
principal_id: [u8; 16],
},
}Expand description
The per-caller identity bound to one handle (spec §10.1, S1A-001).
This is a label the core never consults for shared-table authorization in Stage 1A (the embedded enforcement path reads the facade’s auth state, and shared cores reject auth-mode transitions); per-request enforcement over handles arrives with Stage 1D sessions.
Variants§
Credentialless
No credentials were supplied for this handle.
CatalogUser
A user resolved from the database catalog. user_id +
created_version pin the exact catalog generation so username reuse
cannot revive a stale identity.
ServicePrincipal
A non-catalog principal (service account, daemon worker, test actor).
Trait Implementations§
Source§impl Clone for HandleIdentity
impl Clone for HandleIdentity
Source§fn clone(&self) -> HandleIdentity
fn clone(&self) -> HandleIdentity
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 moreSource§impl Debug for HandleIdentity
impl Debug for HandleIdentity
impl Eq for HandleIdentity
Source§impl PartialEq for HandleIdentity
impl PartialEq for HandleIdentity
impl StructuralPartialEq for HandleIdentity
Auto Trait Implementations§
impl Freeze for HandleIdentity
impl RefUnwindSafe for HandleIdentity
impl Send for HandleIdentity
impl Sync for HandleIdentity
impl Unpin for HandleIdentity
impl UnsafeUnpin for HandleIdentity
impl UnwindSafe for HandleIdentity
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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