用户权限问题讨论 有很多软件,如财务软件,都有用户的权限管理的功能.但就用户权限这个问题,请各位发表自己的建议常用的方法 是 在数据库中有一个"用户权限"表 表结构 : 用户编号,菜单编号,是否可用,... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我认为一个系统的权限部分应该由以下四个部分组成:[*] Resource[*] Privilege[*] Role[*] User另外,一个系统中最少有这么几个角色:[*] Creator, 也可以称做 Programmer.[*] Administrator, 超级用户[*] General User----------------------权限各部分之间的关系:----------------------1. Resource 就是系统的资源,比如部门新闻,文档等各种可以被提供给用户访问的对象.2. Privilege 是 Resource Related 的权限。什么意思?就是指,这个权限是绑定在特定的资源实例上的。比如说部门新闻的发布权限,叫做"部门新闻发布权限".这就表明,该 Privilege 是一个发布权限,而且是针对部门新闻这种资源的一种发布权限。我认为,Privilege 是由 Creator 在做开发时就确定的。3. Role, 是角色,拥有一定数量的权限。4. User, 与 Role 相关。在我设计的系统里,User是不能与 Privilege 直接相关的,User 要拥有对某种资源的权限,必须通过Role去关联.----------------------系统大串联:(^_^)---------------------- 下面简单介绍一下,一个权限从开发到使用的过程.1. Creator 创造 Privilege, Creator 在设计和实现系统时会划分,一个子系统或称为模块,应该有哪些权限. 拿新闻这一块来说,可能应该有:[*] 发布权限(publish)[*] 修改权限(modify)[*] 审核权限(review)[*] 浏览权限(visit).......这里完成的是 Privilege 与 Resource 的对象申明,并没有真正将 Privilege 与具体Resource 实例联系在一起.2. Administrator 指定 Privilege 与 Resource Instance 的关联.在这一步, 权限真正与资源实例联系到了一起, 产生了 Privilege Instance。比如,Administrator 创建了一个叫做 "部门新闻" 的Resource Instance.然后将发布权限与这个资源相关联,产生出 "部门新闻发布权限" 这个 Privilege Instance.3. Administrator 创建一个角色,称做 "部门新闻发布者". 4. Administrator 将 "部门新闻发布权限" 赋予 "部门新闻发布者". 5. Administrator 从用户列表中选取一个或多个用户,然后给这些用户赋予 "部门新闻发布者" 的角色6. User 进到系统,在它的可访问资源列表上,会出现"部门新闻发布"的链接. 7. User 点击 "部门新闻发布"的链接, 根据 Creator 的实现,系统会检查[1] 当前用户是否拥有发布权限[2] 当前用户的发布权限是否与能操作正在访问的资源.---------------------- up up up up up up 超简单问题。送分了。 刚做了一个程序。。。。。。。 请问如何在Console程序中使用TADOConnection对象,我的程序出现异常,请看代码! 请教如何避免adodataset运行时错误 zcvz listview与指针问题,一定给分 南昌的程序员!!!通知!!! for Delphi6 的 flatstyle控件为什么没有了anchors属性? 使用delphi将一个最小化的窗口复原? 关于李维的书,请各位朋友指点 24點,24點,24點,點啊,點寫啊(怎麼寫啊) 系统时间格式!
[*] Privilege
[*] Role
[*] User另外,一个系统中最少有这么几个角色:
[*] Creator, 也可以称做 Programmer.
[*] Administrator, 超级用户
[*] General User----------------------
权限各部分之间的关系:
----------------------
1. Resource 就是系统的资源,比如部门新闻,文档等各种可以被提供给用户访问的对象.2. Privilege 是 Resource Related 的权限。
什么意思?就是指,这个权限是绑定在特定的资源实例上的。
比如说部门新闻的发布权限,叫做"部门新闻发布权限".
这就表明,该 Privilege 是一个发布权限,而且是针对部门新闻这种资源的一种发布权限。
我认为,Privilege 是由 Creator 在做开发时就确定的。3. Role, 是角色,拥有一定数量的权限。4. User, 与 Role 相关。在我设计的系统里,User是不能与 Privilege 直接相关的,
User 要拥有对某种资源的权限,必须通过Role去关联.----------------------
系统大串联:(^_^)
----------------------
下面简单介绍一下,一个权限从开发到使用的过程.1. Creator 创造 Privilege, Creator 在设计和实现系统时会划分,一个子系统或称为模块,
应该有哪些权限. 拿新闻这一块来说,可能应该有:
[*] 发布权限(publish)
[*] 修改权限(modify)
[*] 审核权限(review)
[*] 浏览权限(visit)
.......
这里完成的是 Privilege 与 Resource 的对象申明,并没有真正将 Privilege 与具体
Resource 实例联系在一起.2. Administrator 指定 Privilege 与 Resource Instance 的关联.
在这一步, 权限真正与资源实例联系到了一起, 产生了 Privilege Instance。
比如,Administrator 创建了一个叫做 "部门新闻" 的Resource Instance.
然后将发布权限与这个资源相关联,产生出 "部门新闻发布权限" 这个 Privilege Instance.3. Administrator 创建一个角色,称做 "部门新闻发布者". 4. Administrator 将 "部门新闻发布权限" 赋予 "部门新闻发布者". 5. Administrator 从用户列表中选取一个或多个用户,
然后给这些用户赋予 "部门新闻发布者" 的角色6. User 进到系统,在它的可访问资源列表上,会出现"部门新闻发布"的链接. 7. User 点击 "部门新闻发布"的链接, 根据 Creator 的实现,系统会检查
[1] 当前用户是否拥有发布权限
[2] 当前用户的发布权限是否与能操作正在访问的资源.----------------------