办公系统中经常遇到的权限管理问题 (一)解决方案

近期做系统开发的时候研究了一下简单的用户授权功能,针对问题作出如下设计


   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

删除标记

 

 


  系统的基本架构  user 表,user_role 表 ,role 表 , role_menue表

   系统先期设计的时候需要考虑,将role 划分为可以被授权的角色,和不可以授权的角色,因为不是所有的角色都需要被授权。切这个授权不能传递,就是说A将某项权限赋予给B,B不能再讲某项权限授予C。 这个设计过程中默认的采用的是授权只能授予本部门的人员,不能跨部门授权,因为这个跨部门授权的过程可能更加复杂。








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值