我们有一个Web应用程序,我们需要创建管理用户,角色,模块及其权限的功能。
以下是我们创建的设计。任何人都可以让我知道它是否是实现这种功能的正确方法?
用户表将有两列如下
1)Id 2)姓名
角色表将具有角色ID和角色名称。
用户可以拥有多个角色,因此我们将拥有一个用户角色参考表,该表将具有用户ID和角色ID。
角色可以是管理员,用户,主持人等。
可能有很多模块,如国家,州,订单,部门等。
每个角色都可以访问某些模块,例如Admin可以访问所有模块。
用户可以访问少量模块,如仅订购等。
因此,我们有一个单独的静态模块表,它将具有模块ID和名称。
我们将有另一个角色模块参考表,其中包含哪个角色可以访问哪些模块的信息。
同样,每个用户都将拥有一些角色,因此可以访问某些模块。
现在,访问此模块也基于权限。
Like用户将只拥有国家和国家的读取权限,即他只能查看详细信息。
管理员将拥有州和国家/地区的写权限,以便他可以添加,编辑和删除它们。
那么,我如何在java中实现/设计这整个功能呢?
答案 0 :(得分:7)
表:
要了解用户@userID
在模块@moduleID
中的访问权限:
select accessFlags
from RoleModuleAccess rma
inner join UserRole ur on ur.roleID = rma.roleID
where rma.moduleID = @moduleID and ur.userID = @userID