pub struct SagaManagementContext { /* private fields */ }Expand description
业务作用:携带认证主体、操作原因和冻结权限集,是全部人工控制入口的强制参数。
actor 必须是认证层给出的稳定主体 id,禁止直接使用请求体中的显示名;reason
是事故单/变更单关联所需的人类可读原因,不得包含控制字符或敏感 payload。
Implementations§
Source§impl SagaManagementContext
impl SagaManagementContext
Sourcepub fn new(
actor: impl Into<String>,
reason: impl Into<String>,
permissions: impl IntoIterator<Item = SagaManagementPermission>,
) -> Result<Self>
pub fn new( actor: impl Into<String>, reason: impl Into<String>, permissions: impl IntoIterator<Item = SagaManagementPermission>, ) -> Result<Self>
业务作用:校验并冻结一次管理调用的主体、原因和权限快照。
参数说明:
actor: 已认证稳定主体 id,最多 128 字节。reason: 操作原因或工单摘要,最多 512 字节。permissions: 认证层为当前请求授予的最小权限集合。
返回:字段合法时返回上下文;空值、首尾空白、控制字符或超长输入返回错误。
Sourcepub fn require(&self, required: SagaManagementPermission) -> Result<()>
pub fn require(&self, required: SagaManagementPermission) -> Result<()>
业务作用:在任何持久化读取或副作用前执行最小权限门禁。
参数说明:
required: 当前管理动作要求的权限。
返回:权限存在返回成功;缺失时返回不含业务数据的拒绝错误。
Trait Implementations§
Source§impl Clone for SagaManagementContext
impl Clone for SagaManagementContext
Auto Trait Implementations§
impl Forget for SagaManagementContext
impl Freeze for SagaManagementContext
impl Move for SagaManagementContext
impl RefUnwindSafe for SagaManagementContext
impl Send for SagaManagementContext
impl Sync for SagaManagementContext
impl Unpin for SagaManagementContext
impl UnsafeUnpin for SagaManagementContext
impl UnwindSafe for SagaManagementContext
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