数据库良好实践:如何创建属于动态组的用户

时间:2015-02-14 22:50:05

标签: java database authentication authorization

我想问你一些好的设计实践:
我想设计具有这种功能的数据库:
将有和用户表与login和passwd
具有id,名称和描述列的组表
和privilages表有特权(管理员,bigboss,用户类别A,用户类别B,用户类别C,......)
我想有可能让一个用户属于一个组:如何创建它,作为表用户中的“group_id”列,或者更确切地说是一个带有colums user_login和group_id的表users_groups?
我希望有可能给每个用户提供每一个或每个特权,可能在表groups_privilages中

如何制作,所以使用java,java ee,java server faces,mysql,glassfish和jdbc realm可以很容易地实现它?如何在用户和特权之间建立良好的关系?我的桌子甚至可以使用吗?

管理员可以在运行时创建,编辑,删除组,管理员不可变。

1 个答案:

答案 0 :(得分:0)

因为它严格地是一对一的关系,所以将权限放在用户表上,因为它严格地与用户有关。如果您认为它可能成为一对多的关系,请使用userId和groupId将其放在自己的表中。在查找表中包含groupId和description。