`
black_angle
  • 浏览: 49569 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

权限的一些资料

阅读更多

用户 --->角色 ---->权限。角色概念提出是解耦用户和权限之间的直接联系。<o:p></o:p>

角色和组(groups)是有区别的,组是就是纯粹代表一群用户;角色一方面代表一系列用户,另外一方面可以代表一系列权限,因此可以说是用户和权限的结合体。<o:p></o:p>

用户(User)和角色(Role <o:p></o:p>

    用户指访问系统中的资源的主体,一般为人,也可为 Agent 等智能程序。角色指应用领域内一种权力和责任的语义综合体,可以是一个抽象概念,也可以是对应于实际系统中的特定语义体,比如组织内部的职务等。针对角色属性的不同,某些模型中将角色进一步细分为普通角色和管理员角色(可理解为全局角色)。<o:p></o:p>

许可(Permissions)和权限(Permission <o:p></o:p>

    许可描述了角色对计算机资源的访问和操作所具有的权限,其反映的是授权的结果。比如授予某个角色对计算机资源有读的权限,则代表了一个许可的存在,这个许可表示:角色获取了对计算机资源的读许可。针对操作来说,其描述的是许可和操作之间的一种关联关系,而这层关系则表示了某一角色对某一操作所具有的权限及权限状态。<o:p></o:p>


     
角色和指派(Assignment<o:p></o:p>

    指派包含两个方面,用户指派和许可指派。用户指派表示的是,将用户指派给特定的角色。许可指派表示的是为角色指派计算机资源的访问和操作许可。<o:p></o:p>

会话(session <o:p></o:p>

    会话表示的是用户和角色之间的关系。用户每次必须通过建立会话来激活角色,得到相应的访问权限。<o:p></o:p>

角色和角色等级(Role Hierarchies <o:p></o:p>

    角色本身仅仅只是一个名词,其本身并不能代表权限的大小。比如,我们可以定一个“Director”的角色,也可以定一个“Project Leader”的角色。对于现实中我们来说,看到这样两个角色,就清楚 DIR 的权限要比一个 PL 的权限级别高。但是对计算机来说,这两个角色仅仅是两个词语,是等同的。可以采用分等级角色,在角色上实现层次化来解决这些问题。也可以采用复合角色(其表示的就是一个角色组的概念),对角色实现一定的分组和复合,以便于权限指派。在一些 OA 产品中经常出现分等级角色。
   
限制(Constraints
   
   
模型中的职责分离关系(Separation of Duty),用于控制冲突(Conflict)。静态职责分离(Static SD)指定角色的互斥关系,用于用户指派阶段。避免同一用户拥有互斥的角色。实现简单,角色互斥语义关系清楚,便于管理不够灵活,不能处理某些实际情况。动态职责分离(Dynamic SD)指定角色的互斥关系,用于角色激活阶段。允许同一用户拥有某些互斥的角色,但是不允许该用户同时激活互斥的角色。更灵活,直接与会话挂钩,适应实际管理需要,实现复杂,不易管理。<o:p></o:p>

              <v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="rbac.jpg" style="WIDTH: 666pt; HEIGHT: 390pt"><v:imagedata o:href="http://www.blogjava.net/images/blogjava_net/rosen/rbac.jpg" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg"></v:imagedata></v:shape><o:p></o:p>

<o:p> </o:p>

<script type="text/javascript"> <!----> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> <o:p> </o:p>

[Title ] 关于用户角色权限管理一点想法
[Author] Pizer.Chen
[Email ] Iceant@21cn.com | iceant@vip.163.com
[Date ] <st1:chsdate isrocdate="False" month="11" day="3" islunardate="False" w:st="on" year="2002">2002-11-3</st1:chsdate>

----------------------------------------------------------------------------
我以前设计过一个权限系统的模型,但是我没有实现,
可以说出来,大家讨论一下。

我认为一个系统的权限部分应该由以下四个部分组成:

[*] 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] 当前用户的发布权限是否与能操作正在访问的资源.

分享到:
评论

相关推荐

    权限设计讲解资料——收集了大部分权限设计资料

    以下是根据这些资料可能涵盖的一些关键知识点: 1. **权限模型**:权限设计的核心是权限模型,常见的有RBAC(Role-Based Access Control,基于角色的访问控制)、ACL(Access Control List,访问控制列表)和ABAC...

    SAP权限的设定培训资料

    - 例外权限是指用户除基本职务所需权限外,还需要的一些特殊权限。例如,仓库员工可能需要额外的开工作单权限,这相对于他们常规的职责来说是例外的。 4. **Role的命名和分类** - **G+** 开头的角色是Template ...

    Shiro权限管理 的jar包 ,一些example ,shiro资料笔记与核心单词

    在本文中,我们将深入探讨Shiro权限管理的相关知识点,以及如何利用它来实现高效的安全控制。 1. **Shiro基础概念** - **身份验证(Authentication)**:确认用户身份的过程,通常涉及用户名和密码的校验。 - **...

    吉日权限系统4.2源码

    系统还可能包含一些高级特性,如多因素认证、会话管理、用户行为审计等,以增强系统安全。 四、API与接口设计 吉日权限系统4.2源码中,API设计遵循RESTful原则,提供清晰、统一的接口供其他服务或应用调用。这些...

    PDMS 访问控制权限

    4. 数据访问控制(DAC):PDMS的数据访问控制是指对于系统中的数据资产,如工程文件、项目资料等,按照一定的规则来进行访问控制。DAC保证了只有具有合适权限的用户才能访问特定的数据。 5. 允许的操作(Perops):...

    基于RBAC的SSH权限管理项目和找的一些资料

    在IT行业中,权限管理是确保系统安全性和合规性的重要环节,尤其在远程访问场景下,如Secure Shell(SSH)服务。SSH是一种网络协议,用于安全地执行命令、传输数据和其他网络服务,通常在Linux和Unix-like系统中使用...

    SAP 权限设定培训资料

    ### SAP权限设定培训资料知识点详解 #### 一、引言 在SAP系统中,权限管理是一项至关重要的工作,它确保了数据的安全性和系统的稳定运行。本培训资料旨在为用户提供一个全面而深入的理解,帮助他们掌握如何在SAP R...

    lotus domino 权限资料--ACL权限复制

    本文将详细讲解如何使用LotusScript复制一个数据库的ACL到另一个数据库,以及在处理过程中的一些关键点。 首先,让我们了解ACL的基本概念。在Lotus Domino中,ACL是一个列表,包含了一系列有权访问数据库的用户、组...

    参考资料-项目管理系统_角色权限主数据收集清单.zip

    6. 示例场景:可能包含一些示例场景,说明不同角色在特定情境下的权限应用,帮助理解和设置。 7. 数据安全和隐私考虑:这部分可能涉及到敏感数据的访问限制,以及如何保护用户隐私,防止未经授权的访问。 通过这份...

    oracle数据库的权限系统分为系统权限与对象权限

    该命令还可以用来设置其他权限,详细情况参见自学资料。 改变口令 ------ 要改变一个口令,可以使用alter user命令: alter user user01 identified by usr01; 现在user01的口令已由“u01”改为“usr01”。 ...

    linux系统权限管理文件特殊权限PPT学习教案.pptx

    文件特殊权限是指在 Linux 系统中,文件拥有的一些特殊权限,包括 SetUID、SetGID 和 Sticky Bit 等。这些权限可以影响文件的访问控制和执行结果。 SetUID 权限 SetUID(Set User ID)权限是一种特殊权限,允许...

    linux 权限设计练习及答案

    在"课后练习题答案.pdf"中,可能会包含一些具体问题的解答,如如何查看文件权限、如何更改权限、如何创建新文件并设定权限,以及解决因权限问题导致的常见错误等。这些问题的解答有助于巩固理论知识,并提升实际操作...

    angular 封装全局按钮权限

    `BtnAuthService`可能包含了一些方法,如`canAccessButton()`或`checkPermission()`, 这些方法用于判断用户是否有权访问特定的按钮。服务中的这些方法可能与后端API交互,获取用户的权限信息,或者从本地存储中读取...

    DMSFrame通用权限管理系统源码

    9. **其他文件**:`from.gif`可能是一个指示图,`51Aspx源码必读.txt`可能是阅读源码的指南,`最新Asp.Net源码下载.url`是Asp.Net相关资源的链接,方便开发者获取更多学习资料。 10. **源码学习与二次开发**:对于...

    权限管理系统VS2005.rar

    VS2005中的实现方式提供了清晰的思路和实践案例,对于开发者来说是一份宝贵的参考资料。通过深入学习和实践,我们可以更好地理解和运用权限管理,为构建更安全、更高效的软件系统打下坚实基础。

    基于C#+ASP.NET实现的通用权限管理系统(FrameWork) 1.0.5 源码发布

    版本1.0.5表明这是该系统的某个稳定版本,可能包括一些新特性、性能优化或已知问题的修复。 【描述】: "基于C#+ASP.NET实现的通用权限管理系统(FrameWork) 1.0.5 源码发布。" 这里的描述简单明了,重点在于"源码...

    C#.NET权限管理系统源码 企业基本通用权限框架系统源码数据库 SQL2008源码类型 WebForm

    当然会有一些用户的权限大同小异,如果不想在系 统中创建太多角色可以给用户分配权限。用户最终的权限取角色权限和用户权限的集合。 3、角色一组权限的集合。 4、模块也可以称之为菜单,可以是系统中的页面,也...

    权限的维护

    除了基本的职责创建和维护,SAP BW权限维护还包括一些高级技巧,如组合职责的创建、权限的动态调整以及权限审计等。组合职责允许将多个单一职责合并成一个更高级别的职责,从而简化权限管理,提高效率。此外,定期对...

    EasyUi搭配权限管理

    在描述中提到“代码有点小问题”,这可能是指代码存在一些bug或者设计上的不足,比如未处理的异常、安全性漏洞或者是用户体验上的问题。对于初学者来说,这些问题提供了改进和学习的机会,可以通过调试和查阅资料来...

    权限控制系统(可用于二次开发)

    例如,管理员角色可能拥有所有的操作权限,而普通用户角色则可能只有一些基本的查看和编辑权限。角色的设定使得权限管理更加灵活,因为可以通过调整角色来改变一组用户的权限,而不是逐一修改单个用户。 3. **权限*...

Global site tag (gtag.js) - Google Analytics