用途:rust-xacml 是一个 Rust 技能,主题为策略引擎与权限决策,涉及 RBAC、策略模式、责任链,用于在 Rust 项目中实现访问控制与授权判断。
主要能力:资料给出策略评估器,定义请求上下文(主体、资源、操作、环境)、主体与资源结构、决策结果(Permit、Deny、NotApplicable、Indeterminate)、策略与规则结构,以及四种组合算法:DenyOverrides、PermitOverrides、FirstApplicable、OnlyOneApplicable。另含 RBAC 权限检查,支持角色层级展开、角色权限映射与权限定义,可检查用户权限并获取用户全部权限。还提供策略缓存(TTL、最大容量、失效与清空)和策略构建器(链式设置主体角色、资源、操作、规则与组合算法)。
使用方式:资料以 Rust 代码示例展示,包含 serde 序列化、tokio 异步读写锁等依赖;通过 PolicyEvaluator::evaluate 评估请求,通过 RbacChecker::check_permission 检查权限,通过 PolicyBuilder 构建策略。具体安装命令与完整用法暂未提供。
适用场景:需要细粒度访问控制、基于角色授权、策略组合决策的 Rust 服务。
限制:资料为技能说明与代码片段,未提供 crate 版本、安装方式、性能基准与完整 API 文档;部分代码片段存在排版残缺,实际使用需自行补全与验证。