#访问控制 #权限 #arceos #能力

无std cap_access

为对象提供基本的基于能力的访问控制

1 个不稳定版本

0.1.0 2024年7月17日

399操作系统

Download history 224/week @ 2024-07-14 366/week @ 2024-07-21 508/week @ 2024-07-28 182/week @ 2024-08-04 246/week @ 2024-08-11

1,313 每月下载量

GPL-3.0-or-later OR Apache-2…

6KB

cap_access

Crates.io Docs.rs CI

为对象提供基本的 基于能力的 访问控制。

包装类型 WithCap 将一个 能力 与对象关联,即一组访问权限。访问对象时,必须显式指定访问能力,并且它不能违反对象初始化时关联的能力。

示例

use cap_access::{Cap, WithCap};

let data = WithCap::new(42, Cap::READ | Cap::WRITE);

// Access with the correct capability.
assert_eq!(data.access(Cap::READ).unwrap(), &42);
assert_eq!(data.access(Cap::WRITE).unwrap(), &42);
assert_eq!(data.access(Cap::READ | Cap::WRITE).unwrap(), &42);

// Access with the incorrect capability.
assert!(data.access(Cap::EXECUTE).is_none());
assert!(data.access(Cap::READ | Cap::EXECUTE).is_none());

依赖关系

~105KB