欢迎大家一起来讨论我做的这个权限模型!(已经实现)

vfei 2005-07-27 11:02:22
下面是我的设计规划,想看演示可访问http://www.vfei.com

[主-单]体权限原理: [主体]是指涉及到权限的操作行为的实施者,分三类:人员/部门/角色。
[单体]是指涉及到权限的操作行为的接受者,如:某表单、某记录。

本系统描述主、单体之间权限关系的标准句式是:“对于(某[人员/部门/角色]UDR_A提交的)某类记录R(单体),某[人员/部门/角色]UDR_B(主体)在此记录(单体)处于某种状态S时,拥有某种操作权限P”。

以下是例子:
对于张三(人员)提交的客户记录,李四(人员)在这条记录提交后的7天内可以修改。
对于张三(人员)提交的客户记录,李四(人员)在这条记录提交后的10天内可以审批。
对于张三(人员)提交的客户记录,李四(人员)在这条记录被审批后不能修改它。
对于张三(人员)提交的客户记录,张三(人员)自己在这条记录被提交后不能修改它。
对于销售科(部门)提交的售货单,李四(人员)在每个月的第6天可以修改它。
对于销售科(部门)提交的售货单,规划部(部门)在表单提交的下个月之前能查看它的编辑历史。
对于李四(人员)提交的客户跟踪记录,管理员(角色)在任何时候可以修改它。
对于销售科信息员(角色)提交的客户跟踪记录,管理员(角色)在任何时候可以修改它。
......
[主体]三个层次权限的优先生效级别依次分别是:人员、部门、角色。也就是说,针对某单体R进行某种操作的权限,在系统对人员U、U所处的部门、U所拥有的角色所分配的此操作权限是矛盾的或未指明的情况下,以对人员U分配的权限优先生效,其次是对U所处的部门分配的权限生效,再次是对U所拥有的角色分配的权限生效。
例如:对于张三(人员)提交的客户记录,系统未指明李四(人员)对这条记录的修改权限,但指明了李四所处部门销售科在这条记录提交后的7天内可以修改,而同时却又指明了李四所拥有的角色在这条记录提交后的7天内禁止修改。依照以上所述的规则约定,此处以部门权限优先,即,李四在这条记录提交后的7天内可以修改。
[主体]同一个层次权限的优先生效级别依次分别是:审批之后、记录提交后几天内、下个月之前、每个月的第几天、其它时间条件下。也就是说,针对某单体R进行某种操作的权限,在系统对人员U或U所处的部门或U所拥有的角色所分配的此操作权限中,单体的若干个状态叠加导致操作矛盾的情况下,以上述情形依次优先生效。
例如:对于张三(人员)提交的客户记录,系统指明李四(人员)在这条记录提交后的7天内可以修改,同时却又指明了李四(人员)在这条记录被审批后禁止修改,而恰巧这条记录当前的状态处于提交后的7天内以及被审批后。依照以上所述的规则约定,此处以[审批之后]权限优先,即,当前李四对这条记录禁止修改。
当前操作者有“人员、所属部门、所拥有角色”三类属性赋于一身,而被提交的单体也附加有提交者的“人员、所属部门、所拥有角色”三类属性信息。系统约定权限生效优先级判定次序依次是:
[人员]主体-->[人员]单体的提交者。
[人员]主体-->[部门]单体的提交者。
[人员]主体-->[角色]单体的提交者。
[部门]主体-->[人员]单体的提交者。
[部门]主体-->[部门]单体的提交者。
[部门]主体-->[角色]单体的提交者。
[角色]主体-->[人员]单体的提交者。
[角色]主体-->[部门]单体的提交者。
[角色]主体-->[角色]单体的提交者。

欢迎访问http://www.vfei.com和我一起讨论!权限设计资料可下载!
...全文
181 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gezp 2005-12-06
  • 打赏
  • 举报
回复
可以
xumanjun 2005-12-06
  • 打赏
  • 举报
回复
不错
vfei 2005-07-29
  • 打赏
  • 举报
回复
欢迎一起讨论!
tylike 2005-07-28
  • 打赏
  • 举报
回复
我做过一套,这样实现
我从库表来说下,
1.flow表,记录某种流程 "如xxxx宽带申请流程"
2.stage表,记录某种flow下将要执行的关卡,即,某些审批操作
3.step表,记录一种stage可以流向哪个stage
4.right表,记录,某个step下,可以被哪些人操作,记录的是单人
当然,如果想分组实现的话,可以再定义个表了,不过表只是一个有权模的做用,将组定义成可以有哪些权限,将某人加到某组中即为,为这个人分配组下的所有权限.
别外,根据语言,显示,运行时代码,为了实现共有8个以上的表,不过看了你的业务后,感觉还可以扩展很多。。。.

表达基础较差,滥舆充数一下....
yingfeiqiyue 2005-07-28
  • 打赏
  • 举报
回复
做个记号!
hnhjz 2005-07-28
  • 打赏
  • 举报
回复
同楼上的

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧