pub struct AccessContext {
pub tenant_id: Option<String>,
pub user_id: Option<String>,
pub roles: Vec<String>,
/* private fields */
}Expand description
访问控制上下文
Fields§
§tenant_id: Option<String>当前租户 ID
user_id: Option<String>当前用户 ID
roles: Vec<String>角色列表
Implementations§
Source§impl AccessContext
impl AccessContext
Sourcepub fn with_tenant(self, tenant_id: impl Into<String>) -> Self
pub fn with_tenant(self, tenant_id: impl Into<String>) -> Self
设置租户 ID
Sourcepub fn add_rule(&mut self, rule: AccessRule)
pub fn add_rule(&mut self, rule: AccessRule)
添加访问规则
Sourcepub fn row_filter(&self, table: &str) -> Option<&str>
pub fn row_filter(&self, table: &str) -> Option<&str>
获取表的行级过滤条件
Sourcepub fn is_column_allowed(&self, table: &str, column: &str) -> bool
pub fn is_column_allowed(&self, table: &str, column: &str) -> bool
检查字段是否允许查询
Trait Implementations§
Source§impl Clone for AccessContext
impl Clone for AccessContext
Source§fn clone(&self) -> AccessContext
fn clone(&self) -> AccessContext
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 AccessContext
impl Debug for AccessContext
Source§impl Default for AccessContext
impl Default for AccessContext
Source§fn default() -> AccessContext
fn default() -> AccessContext
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for AccessContext
impl RefUnwindSafe for AccessContext
impl Send for AccessContext
impl Sync for AccessContext
impl Unpin for AccessContext
impl UnsafeUnpin for AccessContext
impl UnwindSafe for AccessContext
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> 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