原来的
在Web开发中,权限管理的设计一般涉及两个方面:一是功能方面的权限设计;二是权限管理的设计。 二:资源方面的权限设计。 两者相比,权限在功能上的复用性更高。
1.关于权限:
阐明:
A。 user-用户角色-角色:可以构成用户角色权限管理子模块,即
b. Module-Module Permission-Permission:可以构成模块权限管理子模块。 注:这里的描述有些欠缺。 单独看模块部分,应该描述为模块-模块功能-功能更合适。
C。 将a、b与角色权限结合起来用户 角色 权限设计,可以形成按照功能模块粒度划分的用户-角色-权限的权限管理体系。
3、user-role-permission数据库中表关系说明:
上述数据库表关系图中各表不涉及具体字段内容。 它具有的字段用于描述每个表之间的关系。
实体表:用户表、角色表、权限表、模块表;
中间表:用户角色、角色权限、模块权限表,用于解决多对多问题;
角色权限表:涉及角色的权限用户 角色 权限设计游戏运营,这些权限源自模块权限,即与
关于角色权限表是用户-角色-权限系统的一个可扩展端口。 例如:角色权限可以和权限直接关联,也可以在两者之间添加其他针对特定场景的表。
4.数据库用例数据,使用用户-角色-权限系统
至此,用户、角色、权限的划分已经形成,可以根据实际需要对用户、角色、权限的管理程度进行简化或增加表格。
5、查询用户码400900500的权限
SELECT
t_account.ACCCODE, t_account.ACCNAME,
t_role.ROLECODE, t_role.ROLENAME,
t_module_privilege.MODUELCODE,
t_module.MODUELCODE, t_module.MODUELNAME,
t_privilege.PRICODE, t_privilege.PRINAMEFROM
t_account, t_account_role, t_role, t_role_privilege, t_module_privilege, t_module, t_privilegeWHERE
t_account_role.ACCCODE=t_account.ACCCODE AND t_account_role.ROLECODE=t_role.ROLECODEAND
t_account.ACCCODE="400900500"AND
t_role_privilege.ROLECODE=t_role.ROLECODE AND t_role_privilege.MPID=t_module_privilege.MPIDAND
t_module_privilege.MODUELCODE=t_module.MODUELCODE AND t_module_privilege.PRICODE=t_privilege.PRICODE
通过上面的SQL语句可以查询到400900500个用户的权限。
上面的查询只是解释了表之间的数据关联。 在实施和开发过程中避免使用此类查询。
用户、角色和权限的一个很好的参考例子是Oracle数据库的用户管理机制。 Web开发涉及到的问题较多,如管理用户、管理员、系统管理、模块访问权限、资源访问等。
关于具有用户角色权限管理程序的开发系统,请参见示例:。
点击底角阅读全文查看《hibernate关于Hibernate的一级和二级缓冲》
有人用微信聊天游戏运营,有人在微信中学习、成长。 以下是2016年最热门的HOTIT公众号,快来尝试以下新方法吧!
关注方式 ★长按二维码,选择“识别图中二维码”进行关注。