办公系统中经常遇到的权限管理问题 (一)解决方案
2015-03-26 14:27
501 查看
近期做系统开发的时候研究了一下简单的用户授权功能,针对问题作出如下设计
A 用户所领导 ,A有审批 某项经费的权利 , A出差期间不方便进行经费审批,所以这个过程中需要将自己的这项权限委托给相关人员,这个委托过程,尽量的少泄露不必要的用户个人信息。所以便有了 ,A用户针对系统中某一项审批功能授权给 B用户,这个授权有时间期限,开始时间,结束时间,过期后系统会自动收回授权。这个回收授权的过程需要保存历史记录,以供后期查询。
系统的基本架构 user 表,user_role 表 ,role 表 , role_menue表
系统先期设计的时候需要考虑,将role 划分为可以被授权的角色,和不可以授权的角色,因为不是所有的角色都需要被授权。切这个授权不能传递,就是说A将某项权限赋予给B,B不能再讲某项权限授予C。 这个设计过程中默认的采用的是授权只能授予本部门的人员,不能跨部门授权,因为这个跨部门授权的过程可能更加复杂。
A 用户所领导 ,A有审批 某项经费的权利 , A出差期间不方便进行经费审批,所以这个过程中需要将自己的这项权限委托给相关人员,这个委托过程,尽量的少泄露不必要的用户个人信息。所以便有了 ,A用户针对系统中某一项审批功能授权给 B用户,这个授权有时间期限,开始时间,结束时间,过期后系统会自动收回授权。这个回收授权的过程需要保存历史记录,以供后期查询。
表名称:sys_user_delegate 用户设置代理用户角色关系表 | ||||||
字段名称 | 数据类型 | 长度 | 描述 | 主键(是/否) | 非空(是/否) | 备注 |
ID | Varchar | 64 | 主键 | 是 | 是 | |
User_id | varchar | 64 | 授权人ID | 否 | 是 | |
Delegate_uid | Varchar | 64 | 代理者ID | 否 | 是 | 被授权人 |
Start_time | Datetime | 授权开始时间 | ||||
End_time | Datetime | 授权结束时间 | ||||
Role_id | Varchar | 64 | 授权的角色ID | |||
Is_validate | Char | 1 | 是否激活 | 是否激活0,激活;1未激活 | ||
Is_history | Char | 1 | 是否进入历史 | 否 | 是否进入历史,0,否;1,是; | |
Create_by | Varchar | 64 | 创建者 | |||
Create_date | Datetime | 创建时间 | ||||
Update_by | Varchar | 64 | 修改者 | |||
Update_date | Datetime | 修改时间 | ||||
Remarks | Varchar | 255 | 备注信息 | |||
Delete_flag | Char | 1 | 删除标记 | 是 |
表名称:sys_user_delegate_log 代理用户 操作 资源 日志表 | ||||||
字段名称 | 数据类型 | 长度 | 描述 | 主键(是/否) | 非空(是/否) | 备注 |
ID | Varchar | 64 | 主键 | 是 | 是 | |
Delegate_instance_id | Varchar | 64 | 关联sys_user_delegate 的ID | |||
Operation_resource | Varchar | 200 | 用户操作资源主业务对象信息 | |||
Operation_resource_id | Varchar | 64 | 用户操作资源的ID | |||
Operation_time | Datetime | 用户操作时间 | ||||
Create_by | Varchar | 64 | 创建者 | |||
Create_date | Datetime | 创建时间 | ||||
Update_by | Varchar | 64 | 修改者 | |||
Update_date | Datetime | 修改时间 | ||||
Remarks | Varchar | 255 | 备注信息 | |||
Delete_flag | Char | 1 | 删除标记 | 是 |
系统先期设计的时候需要考虑,将role 划分为可以被授权的角色,和不可以授权的角色,因为不是所有的角色都需要被授权。切这个授权不能传递,就是说A将某项权限赋予给B,B不能再讲某项权限授予C。 这个设计过程中默认的采用的是授权只能授予本部门的人员,不能跨部门授权,因为这个跨部门授权的过程可能更加复杂。
相关文章推荐
- 办公系统中经常遇到的权限管理问题 (一)
- 课程设计“招生管理系统”中遇到的问题
- Windows Media 数字权限管理(DRM)组件遇到问题。如果您正在尝试使用从在线商店获取的文件,请到在线商店并获取适当的使用权。
- ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之一“uboot中添加对UBIFS文件系统的支持”
- 做学生管理系统中中遇到的问题汇总(1)
- eclipse经常会遇到问题的解决方案
- 重新搭建"灶具维修管理系统"的VB开发环境遇到的几个问题
- maven 私服(nexus)架设以及项目管理中遇到的问题及解决方案
- ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之二“Linux内核中添加对UBIFS文件系统的支持”
- 薪资管理模块,经常会遇到的40几个问题汇总
- 学生信息管理系统中遇到的问题
- 薪资管理模块,经常会遇到的40几个问题汇总
- [紧急问题和解决方案] 无法打开被"权限管理服务"(RMS)加密的Office 2003文档
- ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之三“UBIFS镜像的制作&&烧写”
- 统计数据的时候,经常遇到重复问题,解决方案!
- 薪资管理模块,经常会遇到的40几个问题汇总
- MS office 2007 Excel在打开和关闭文件的时候经常crash(系统遇到未知错误,非法退出!)的原因和解决方案!
- 薪资管理模块,经常会遇到的40几个问题汇总
- 课程设计——小型图书管理系统中遇到的问题
- 【Richie Zhu】android开发时使用Android模拟器经常遇到连不上、连一次掉一次等诸多问题的解决方案