pub struct AccessControl {
pub default: Permissions,
pub grants: Vec<PermissionGrant>,
}Available on crate feature
signatures only.Expand description
Access control settings for a document.
Defines default permissions and per-principal permission grants.
Fields§
§default: PermissionsDefault permissions for unauthenticated/unknown principals.
grants: Vec<PermissionGrant>Per-principal permission grants.
Implementations§
Source§impl AccessControl
impl AccessControl
Sourcepub fn new(default: Permissions) -> Self
pub fn new(default: Permissions) -> Self
Create access control with default permissions.
Sourcepub fn full_access() -> Self
pub fn full_access() -> Self
Create access control with all permissions granted by default.
Sourcepub fn with_grant(self, grant: PermissionGrant) -> Self
pub fn with_grant(self, grant: PermissionGrant) -> Self
Add a permission grant for a principal.
Sourcepub fn permissions_for(&self, principal: &Principal) -> &Permissions
pub fn permissions_for(&self, principal: &Principal) -> &Permissions
Get effective permissions for a principal.
Searches for matching grants and returns the most specific permissions, or the default permissions if no grants match.
Trait Implementations§
Source§impl Clone for AccessControl
impl Clone for AccessControl
Source§fn clone(&self) -> AccessControl
fn clone(&self) -> AccessControl
Returns a duplicate of the value. Read more
1.0.0 · 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 AccessControl
impl Debug for AccessControl
Source§impl Default for AccessControl
impl Default for AccessControl
Source§impl<'de> Deserialize<'de> for AccessControl
impl<'de> Deserialize<'de> for AccessControl
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for AccessControl
impl PartialEq for AccessControl
Source§impl Serialize for AccessControl
impl Serialize for AccessControl
impl Eq for AccessControl
impl StructuralPartialEq for AccessControl
Auto Trait Implementations§
impl Freeze for AccessControl
impl RefUnwindSafe for AccessControl
impl Send for AccessControl
impl Sync for AccessControl
impl Unpin for AccessControl
impl UnsafeUnpin for AccessControl
impl UnwindSafe for AccessControl
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.