有没有开放源码的基于角色的访问控制系统?
发布于 2010-10-09 10:46:54
Spring Security可能对你有好处。
发布于 2019-01-02 18:39:35
有几个框架可以为您提供授权系统:
Spring Security是一个高度可定制的框架,广泛用于处理任何用Java开发的基于企业的应用程序中出现的身份验证和访问控制(授权)问题。
Apache Shiro是一个功能强大且易于使用的Java安全框架,它执行身份验证、授权、加密和会话管理。使用Shiro易于理解的API,您可以快速轻松地保护任何应用程序-从最小的移动应用程序到最大的web和企业应用程序。
JAAS是一种安全API,它由专门为用户身份验证和授权而设计的Java包组成。JAAS在JavaSE1.3中作为可选程序包引入,后来从JDK 1.4.
此Java应用程序安全框架旨在细化(对象级别)访问控制。它的重点是提供一个功能齐全的API来执行和管理应用程序的身份验证和授权需求。它提供了灵活而健壮的安全模型的完整实现。
jCasbin是一个强大而高效的Java项目开放源码访问控制库。它支持基于各种访问控制models.
Keycloak是一个面向现代应用程序和服务的开源身份和访问管理解决方案。它提供单点登录、身份代理和社交登录、用户联合、客户端适配器、管理控制台和帐户管理控制台等功能。
发布于 2010-10-10 07:37:53
我假设你试图回答的问题是:
用户u是否有权在object o上执行操作op
需要考虑的一件事是,如何从业务角度定义域对象和用户组(在AC机制之外)。对于任何RBAC实现,您都需要对其进行配置,以告知您的用户和用户组是什么。这将影响您对RBAC实现的选择。
另一个(更具体的)问题:您需要支持覆盖权限、包含和排除吗?具体地说,您是否希望能够支持这样的场景: object o1对用户组g1可用,但对用户u1 (属于组g1)不可用?
根据具体的答案,JAAS jguard(构建于http://jguard.net/之上)可能是一个非常好的选择--JAAS
https://stackoverflow.com/questions/3895467
复制相似问题