Java/MySql如何实现基于角色的访问控制?

Posted

技术标签:

【中文标题】Java/MySql如何实现基于角色的访问控制?【英文标题】:How to implement role-based access control Java/MySql? 【发布时间】:2012-12-06 10:26:55 【问题描述】:

我打算开始一个基于 Web 的项目,该项目涉及用户注册,就像论坛/CMS 一样,但我的障碍是我不知道如何实施所谓的基于角色的访问控制。

我搜索了“基于角色的访问控制”,并在结果书中发现: 设计模式。

这与我的需要有关吗? 有没有关于实现这个想法的教程? 是在数据库端实现还是在语言编程端实现?

有参考吗?有标题吗?

【问题讨论】:

【参考方案1】:

设计您的表格,以便用户可以根据您的系统拥有一个或多个角色

定义您对群组页面的访问权限

admin.allowed = .*
user.allowed=/home/.*,/profile/.*

在一些属性文件中

创建一个 Web 过滤器,从会话中读取用户并确定角色,并查看它所请求的页面是否被允许,如果不允许,它会重定向到其他页面


另见

Writing an authorization filter for my web app(JSF 2.0)

【讨论】:

这是唯一可行的做法吗? 这是执行此操作的基本方法,有一些框架可以在内部执行此操作,并在其之上提供更多功能,例如 Spring Security 就像 Jigar Joshi 所说的,有很多框架可以为你做这件事。但是,如果您不想求助于框架,则必须像在答案中那样创建过滤器,或者自己在应用程序的主 servlet 中实现限制

以上是关于Java/MySql如何实现基于角色的访问控制?的主要内容,如果未能解决你的问题,请参考以下文章

使用RoleBasedAuthorization实现基于用户角色的访问权限控制

使用.NET从零实现基于用户角色的访问权限控制

如何在 Firebase 中创建基于角色的访问控制或自定义声明

如何在 Flask 中实现基于角色的访问控制?

Flask实现基于角色的访问控制(RBAC)

实现基于角色的访问控制(RBAC)