返回介绍

14.1 常见的权限模型

发布于 2025-04-26 13:16:50 字数 841 浏览 0 评论 0 收藏

权限模型有很多种,这里选择几种知名度较高的权限管理模型进行介绍。

DAC

DAC(Discretionary access control)指自主访问控制。它是 Trusted Computer System Evaluation Criteria(TCSEC)定义的一种访问控制模型。在这种访问控制模型中,系统会根据被操作对象的权限控制列表中的信息,来决定当前用户能够对其进行哪些操作,用户可以将其具备的权限直接或者间接授予其他用户,这也是其称为自主访问控制的原因。

自主访问控制经常与强制访问控制(MAC)对比。

MAC

MAC(Mandatory access control)指强制访问控制,也叫非自主访问控制。这种访问控制方式可以限制主体对对象或目标执行某种操作的能力。通过强制访问控制,安全策略由安全策略管理员集中控制,用户无权覆盖策略。

ABAC

ABAC(Attribute-Based Access Control)基于属性的访问控制,有时也被称为 PBAC(Policy-Based Access Control)或者 CBAC(Claims-Based Access Control)。

ABAC 也被称为下一代权限管理模型。

基于属性的访问控制中一般来说包含四类属性:用户属性、环境属性、操作属性以及资源属性,通过动态计算一个或者一组属性是否满足某一条件来进行授权。

当然,上面介绍的这三种权限模型并非本章重点,因为我们在 Java 企业级开发中很少会用到它们。

在企业级开发领域,目前最为流行的权限管理模型当属 RBAC。除了 RBAC 之外,还有一个 ACL 权限模型,Spring Security 中针对 ACL 也提供了相关的依赖,所以本章重点介绍这两种权限模型。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。