`
jeffen2006
  • 浏览: 259667 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

身份验证系统简述1

阅读更多

身份验证系统
所谓的系统在庞大的企业信息化平台上也就是一个模块,而这个系统(模块)也可以认为是由2个单独的子系统(模块)组成的:权限系统和组织结构系统。权限负责管理整个企业资源的使用,组织结构则描述了整个企业的职能架构。两相结合将企业的商业活动合理高效的调动起来。

权限系统的设计原则一般是:不提供全方位的权限解决方案,仅提供一个实现对通用的、粗粒度的权限逻辑的处理,对于一些定制性比较强的、细粒度的权限逻辑部分则归为业务逻辑,由业务模块编码处理。所以这也被称为不完全的权限系统。
比如,要求:“合同资源只能被它的创建者删除,与创建者同组的用户可以修改,所有的用户能够浏览”。这既可以认为是一个细粒度的权限问题,也可以认为是一个业务逻辑问题。在这里它是业务逻辑问题,在整个权限系统的架构设计之中不予过多考虑。还有比如,有"新闻系统管理者只能删除一月前发布的,而超级管理员可删除所有的这样的限制,这属于业务逻辑(Business logic),而不属于用户权限范围。也就是说权限负责有没有删除的Permission,至于能删除哪些内容应该根据UserRole or UserGroup来决定(当然给UserRole or UserGroup分配权限时就应该包含上面两条业务逻辑)。

同时权限系统还应该考虑将功能性的授权与资源性的授权分开。比如系统管理人员就有系统的功能性权限而不应该有企业资源的操作权限,比如系统维护人员不应具有费用减免的权限。

  • Resource 企业资源,可以反向包含自身,即树状结构。
  • Privilege 一个抽象的动词如“发布”,一定要和一个Resource Instance关联才会有真正的意义生成一个Privilege Instance,比如发布公告、发布商品。还可以指定排斥和包含关系,比如完全控制就包含更改和读取权限。
  • Role   是一个抽象概念,是一类Privilege Instance的集合。用来和组织结构系统关联。在某些模型里支持继承关系和责任分离关系,所谓责任分离关系就是避免同一用户拥有互斥的角色,这种责任分离关系处理起来比较复杂,简化办法是同一时刻用户只能用一种角色进入系统。


组织结构系统的组成如下:

  • User  纯粹的用户,如企业内部的所有员工和外部的代理商。
  • Group  和User是多对多的关系,一个组可以包含多个用户,同时一个用户可以同时属于多个组。
     组本身可以嵌套,这样好处是子组自动从父组继承权限。 方便管理授权,将权限相同的Role组成一个Group进行集中授权。实际业务中,Group划分多以行政组织结构或业务功能划分。


两个子系统的结合:
Role和User是多对多的关系,Role和Group也是多对多的关系。

 

 

参考文章:
anwenhao 《权限的设计分析》

分享到:
评论
9 楼 wolfsquare 2006-12-14  
ronghao 写道
wolfsquare 写道
我的系统一年前已经更进了一步,可惜一直没空整理出来,主要观点如下:
1.组织结构只是一个装饰品,核心是RBAC,ACL
  实际编码中很难做到权限代码与组织机构的解耦
2.权限系统提供全面解决方案(元权限系统),系统权限和业务权限只是相对概念,当然具体实现还是要各模块自己去做
   个人觉得权限系统是可以提供全面解决方案,各模块权限机制要可配置
3.整系统高度可配置,动态可配置,例如给某业务增加了新的操作,那么将导致该业务产生新的权限.
  可否举个例子?
4.不区分系统维护人员和普通操作者,都一样, 只要有足够权限.

  一个超级管理员还是必须的,要不最开始谁来授权呢

1.我想只要把握了其中的精髓,你会发现这实际很简单,提示一下,在这个的系统里,每个组织都有对应的一个角色,当然,它也能有属于自己所管辖的角色,但在RBAC的世界里,所有的角色都是一样的,明白了吗。
3.例如说权限管理,在有了分配功能后,领导突发奇想,需要增加一个转移功能,那么在给权限系统加了该功能的配置后,系统可以自动产生所有权限的转移权限,这时权限的所有者就自动获得他所有的权限的转移权限。
8 楼 wolfsquare 2006-12-14  
实际上,一开始什么用户也没有,那么就可以直接访问用户管理创建用户,这时已先到先得为原则,然后开始添加系统模块的配置,当然,前提是系统有这些模块的代码和URL才能真的运行,权限系统也是作为一个普通模块来添加的。在权限产生的时候,属于创建者,然后再由创建者分发或者转移,这个要视乎权限系统的定义来看了。
7 楼 ronghao 2006-12-14  
wolfsquare 写道
我的系统一年前已经更进了一步,可惜一直没空整理出来,主要观点如下:
1.组织结构只是一个装饰品,核心是RBAC,ACL
  实际编码中很难做到权限代码与组织机构的解耦
2.权限系统提供全面解决方案(元权限系统),系统权限和业务权限只是相对概念,当然具体实现还是要各模块自己去做
   个人觉得权限系统是可以提供全面解决方案,各模块权限机制要可配置
3.整系统高度可配置,动态可配置,例如给某业务增加了新的操作,那么将导致该业务产生新的权限.
  可否举个例子?
4.不区分系统维护人员和普通操作者,都一样, 只要有足够权限.

  一个超级管理员还是必须的,要不最开始谁来授权呢
6 楼 wolfsquare 2006-12-14  
我的系统一年前已经更进了一步,可惜一直没空整理出来,主要观点如下:
1.组织结构只是一个装饰品,核心是RBAC,ACL
2.权限系统提供全面解决方案(元权限系统),系统权限和业务权限只是相对概念,当然具体实现还是要各模块自己去做
3.整系统高度可配置,动态可配置,例如给某业务增加了新的操作,那么将导致该业务产生新的权限.
4.不区分系统维护人员和普通操作者,都一样, 只要有足够权限.
5 楼 jeffen2006 2006-12-14  
呵呵,感谢cryolite
to:BirdGu ,小弟刚学,可能理解得不够深刻,谢谢指正。不敢说原创,看了别人的东东自己总结一下,呵呵。
to:wdiy 马上举例 !:arrow:
4 楼 wdiy 2006-12-14  
说的好抽象,要是有个例子说明就好了
3 楼 BirdGu 2006-12-14  
另外,原创还是转贴请说明。
2 楼 BirdGu 2006-12-14  
身份验证是Authentication,授权与权限验证是Authorization,两者不可混淆。
1 楼 cryolite 2006-12-14  
# Privilege 一个抽象的动词如“发布”,一定要和一个Resource Instance关联才会有真正的意义生成一个Privilege Instance,比如发

没贴全?

相关推荐

    IIS 6.0入门及进阶系列课程之九:理解IIS 6.0中的身份验证

    1. **匿名身份验证**:默认情况下,IIS启用匿名身份验证,允许任何互联网用户访问网站,无需提供凭证。这在需要公开访问的网站上是常见的设置,但可能导致安全性问题。 2. **基本身份验证**:这是一种简单的身份...

    新型智能储物系统的控制系统简述.pdf

    新型智能储物系统的控制系统简述 本文主要介绍了新型智能储物系统的控制系统设计,旨在解决当前公共交通场所面临的巨大挑战,即如何提供更舒适的候车或候机环境,减少偷盗等违法行为。为了解决这个问题,作者提出了...

    一种智能储物系统的机械设计简述.pdf

    身份验证模块采用了身份证读卡器和车票/机票二维码扫描器的组合,提高了识别的多样性和安全性。储物柜的锁扣设计巧妙,由方形管和锁扣组成,锁扣可通过控制器驱动的锁扣驱动器打开或关闭,同时通过扭簧设计实现自动...

    PHP版网上考试系统简述

    系统通过session和cookie技术实现用户身份验证,确保安全性。 5. 总结 PHP版网上考试系统通过集成PHP和MySQL,实现了高效的数据处理和交互,结合AppServ的轻量级特性,为在线考试提供了一个稳定、可靠的平台。无论...

    电子公文交换系统功能模块简述.pdf

    电子公文交换系统功能模块简述 电子公文交换系统是一个综合性的应用平台,包括行政办公与事务处理、公文与信息交换、信息发布与管理...* 系统的应用场景:用户只需登录一次,通过身份验证后便可以在各系统间漫游访问。

    SSM+网上书店系统061436(附源码+数据库)

    2、(3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。 网上书店系统的主要开发目标如下: (1)实现管理系统信息关系的系统化、规范化和自动化; (2)减少...

    面试简述.docx

    JWT是身份验证的一种开放标准,它由Header、Payload和Signature三部分组成。Header包含了令牌的元数据和算法信息,Payload则存储了实际要传递的数据,而Signature则是对前两部分的加密,用于验证信息的完整性和来源...

    汽车租凭系统

    6. **安全性与权限管理**:汽车租赁系统需要保护用户隐私和公司数据,因此要实现身份验证和授权机制。.NET框架提供了内置的安全特性,如角色基础的安全性,允许管理员控制不同用户对系统的访问权限。 7. **异常处理...

    基于人脸识别的山东大学门禁系统建设与实现.pdf

    通过分析不同情况,本文简述了门禁系统基于人脸识别和校园卡的实现认证过程。该系统由人脸门禁一体机、人证登记终端、门禁管理平台、预约平台及原有第3方门禁系统组成。最终实现动态场景检测以及不同点位的人脸跟踪...

    无线通信GSM系统介绍

    这些组件负责呼叫处理、用户身份验证、漫游等功能。 4. **操作和支持子系统(OSS)**:用于监控和维护整个GSM网络,确保其正常运行。 **三、GSM的触发流程** 1. **开机注册**:移动台开机后,会自动搜索最近的...

    网络安全策略简述.doc

    验证用户的身份和使用权限、防止用户越权操 作;确保计算机系统有一个良好的电磁兼容工作环境;建立完备的安全管理制度,防止 非法进入计算机控制室和各种偷窃、破坏活动的发生。 抑制和防止电磁泄漏(即TEMPEST技术...

    学生选课管理系统

    在系统开发过程中,创建系统登录窗体是必不可少的步骤,它为用户提供安全的登录界面,验证用户的身份。三层结构的应用使得登录代码可以更加模块化,降低了代码的复杂性。通过角色信息表(RoleInfo)和权限表...

    学生成绩管理系统UML面向对象设计

    系统简述 学生成绩管理系统是一个基于UML的面向对象设计的系统,旨在管理和跟踪学生的成绩信息。该系统将提供一个统一的平台,用于学生、教师和管理员之间的信息交流和沟通。 软件设计目标 ### 功能目标 1. 学生...

    汤子赢版操作系统课件

    8. **安全与权限**:探讨用户身份验证、访问控制、权限模型(如ACL和Unix的用户组模式)以及安全性问题。 9. **分布式系统**:简述分布式操作系统的基本概念、分布式进程通信、命名服务、复制服务以及分布式文件...

    SQL SERVER2008安全机制

    首先,SQL Server 2008提供了两种身份验证模式:Windows身份验证模式和混合模式。Windows身份验证模式依赖于Windows操作系统进行用户身份验证,用户通过其Windows账户名和密码连接到SQL Server。混合模式则允许用户...

    通用系统设计报告模板

    6. 系统安全性设计:包括身份验证、授权、数据加密、防火墙规则等。 7. 性能与可扩展性设计:考虑系统性能指标(如响应时间、并发处理能力)和未来扩展需求。 8. 技术选型与实现策略:说明所选择的技术栈、开发工具...

    数据库系统原理复习资料

    7. **安全性与权限管理**:控制用户对数据库的访问,包括用户身份验证、权限分配和审计。 8. **分布式数据库**:随着云计算的发展,分布式数据库成为热门话题,涉及数据分区、复制、分布式事务处理等。 9. **NoSQL...

    仓库管理系统的设计与实现计算机毕业论文.doc

    仓库管理系统的登录模块实现主要包括用户身份验证、用户权限管理等方面。 基础信息模块实现 仓库管理系统的基础信息模块实现主要包括商品管理模块实现、供应商管理模块实现等方面。 销售出库管理模块实现 仓库...

    不错的计算机操作系统课件

    7. **安全性与权限**:讲述访问控制、权限模型(如ACL、能力系统)、身份验证和授权机制。 8. **分布式操作系统**:简述分布式系统的概念、特征,对比集中式和分布式操作系统的差异。 9. **实时操作系统**:说明...

    电子图书管理系统(毕业论文)

    5. 安全技术:包括加密传输(SSL/TLS)、身份验证(OAuth、JWT)、访问控制(RBAC)等,保障系统安全。 四、系统设计原则 1. 易用性:用户界面应简洁直观,便于操作,减少用户学习成本。 2. 可扩展性:系统应能适应...

Global site tag (gtag.js) - Google Analytics