通用的权限模块是如何设计的?
2009-01-09 15:31
330 查看
通用的权限模块是如何设计的,通常是一张用户表,角色表,用户与角色关联表,功能表,角色与功能关联表,模块表。
如上设计之后,当要判断一个用户是否具有某个权限的时候先要从用户与角色关联表出发,找到当前用户所属的角色,然后再去角色功能关联表里面查找用户所属角色所具有的功能点。查找出来的用户具有功能点是一个集合,还要把当前的功能点与集合里面的所有功能点比较,如果在集合里面找到了功能点,就证明此用户具备该功能点的权限,否则就证明该用户不具备此功能点的权限。
以上做法看似繁琐,但是大部分的操作都是在用户登陆的时候就把其对应的功能点集合取出,放入Session中,那么以后判断用户是否具备某个功能点的时候只需要把功能点与Session当中的功能点集合遍历比较即可。
如上设计之后,当要判断一个用户是否具有某个权限的时候先要从用户与角色关联表出发,找到当前用户所属的角色,然后再去角色功能关联表里面查找用户所属角色所具有的功能点。查找出来的用户具有功能点是一个集合,还要把当前的功能点与集合里面的所有功能点比较,如果在集合里面找到了功能点,就证明此用户具备该功能点的权限,否则就证明该用户不具备此功能点的权限。
以上做法看似繁琐,但是大部分的操作都是在用户登陆的时候就把其对应的功能点集合取出,放入Session中,那么以后判断用户是否具备某个功能点的时候只需要把功能点与Session当中的功能点集合遍历比较即可。
相关文章推荐
- 通用的权限模块是如何设计的?
- 通用的权限模块是如何设计的?
- 通用权限模块设计搞好了,但是又没耐心写出来了
- 一步步教你如何用疯狂.NET架构中的通用权限系统 -- (用户 - 角色 - 操作权限 - 模块菜单)之间的关联关系
- [数据库设计]用户和角色:通用权限管理系统数据库表结构如何设计?
- 如何给多个子系统设计一个简单通用的权限管理方案?(详细讲解及源代码下载)
- 一步步教你如何用疯狂.NET架构中的通用权限系统 -- (用户 - 角色 - 操作权限 - 模块菜单)之间的关联关系
- 一步步教你如何用疯狂.NET架构中的通用权限系统 -- (用户 - 角色 - 操作权限 - 模块菜单)之间的关联关系
- 如何从零设计结构清晰、操作友好的权限管理模块
- 一步步教你如何用疯狂.NET架构中的通用权限系统 -- (用户 - 角色 - 操作权限 - 模块菜单)之间的关联关系
- 用户和角色:通用权限管理系统数据库表结构如何设计?
- 用户和角色:通用权限管理系统数据库表结构如何设计?
- 如何设计通用权限
- 云课堂Android模块化实战--如何设计一个通用性的模块
- JAVA动态模块的设计实现以及如何通过newInstance()来创建带参的构造类实例
- 通用权限管理设计 之 数据库结构设计
- List<T>列表通用过滤模块设计
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中模块的独立性与模块的职责明确性
- [SharePoint 工作流] 如何设计一个通用的多级多审核工作流程(三):工作流开发
- 通用权限管理系统组件中简易员工档案管理模块参考