0

我正在开发一个用户角色很少的门户。我一直想知道处理它们的最佳方法是什么。我已经为用户和客户创建了单独的表格,但是客户会想要这个功能,因为用户和用户也可以很容易地成为客户。

我也不想做很多关节,所以我的想法是这样的:

我将拥有 4 个不同的用户角色(至少目前如此),如下所示:

user
client
reviewer
admin

我将为每个角色分配“id”。同时,我将在 mysql 中保留这些角色的表。它会是这样的:

1 - admin
2 - reviewer
3 - client
4 - user

该表将仅在创建用户时使用,以获取用户“权限”的代码。所以假设会有一个人是用户和审阅者。他的角色是24岁。

login  password  email role     created
----------------------------------------------------------
guy    password  guy@gmail.com  24 2012-12-08 23:12:30

我认为这可以很好地工作,但仍然想问你们是否认为这是一个好的和有效的解决方案。谢谢

4

2 回答 2

1

另一种方法是有一个多对多的 USER_ROLE 表,对于你的例子来说,这个表将具有以下整体。

login role
guy   2
guy   4

我通常更喜欢这种跟踪角色的方法。在这种情况下,对这个表的连接应该是快速而轻松的,特别是如果您转而使用 user_id 而不是登录名,并适当地建立索引。

于 2012-08-26T03:15:45.600 回答
0

您要定义的是基于角色的访问控制系统(我建议查找相关资源)。RBAC 系统将有一个单独的用户表和另一个角色表。用户和角色之间会有多对多的关系。此外,您会将权限表连接到另一个多对多关系中的角色。附上的图片代表了如何实现这个系统:RBAC SYSTEM IN MYSQL

之前有人问过类似的问题:How to design a hierarchy role based access control system

于 2017-02-21T17:42:19.530 回答