身份验证系统
所谓的系统在庞大的企业信息化平台上也就是一个模块,而这个系统(模块)也可以认为是由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 《权限的设计分析》
分享到:
相关推荐
1. **匿名身份验证**:默认情况下,IIS启用匿名身份验证,允许任何互联网用户访问网站,无需提供凭证。这在需要公开访问的网站上是常见的设置,但可能导致安全性问题。 2. **基本身份验证**:这是一种简单的身份...
新型智能储物系统的控制系统简述 本文主要介绍了新型智能储物系统的控制系统设计,旨在解决当前公共交通场所面临的巨大挑战,即如何提供更舒适的候车或候机环境,减少偷盗等违法行为。为了解决这个问题,作者提出了...
身份验证模块采用了身份证读卡器和车票/机票二维码扫描器的组合,提高了识别的多样性和安全性。储物柜的锁扣设计巧妙,由方形管和锁扣组成,锁扣可通过控制器驱动的锁扣驱动器打开或关闭,同时通过扭簧设计实现自动...
系统通过session和cookie技术实现用户身份验证,确保安全性。 5. 总结 PHP版网上考试系统通过集成PHP和MySQL,实现了高效的数据处理和交互,结合AppServ的轻量级特性,为在线考试提供了一个稳定、可靠的平台。无论...
电子公文交换系统功能模块简述 电子公文交换系统是一个综合性的应用平台,包括行政办公与事务处理、公文与信息交换、信息发布与管理...* 系统的应用场景:用户只需登录一次,通过身份验证后便可以在各系统间漫游访问。
2、(3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。 网上书店系统的主要开发目标如下: (1)实现管理系统信息关系的系统化、规范化和自动化; (2)减少...
JWT是身份验证的一种开放标准,它由Header、Payload和Signature三部分组成。Header包含了令牌的元数据和算法信息,Payload则存储了实际要传递的数据,而Signature则是对前两部分的加密,用于验证信息的完整性和来源...
6. **安全性与权限管理**:汽车租赁系统需要保护用户隐私和公司数据,因此要实现身份验证和授权机制。.NET框架提供了内置的安全特性,如角色基础的安全性,允许管理员控制不同用户对系统的访问权限。 7. **异常处理...
通过分析不同情况,本文简述了门禁系统基于人脸识别和校园卡的实现认证过程。该系统由人脸门禁一体机、人证登记终端、门禁管理平台、预约平台及原有第3方门禁系统组成。最终实现动态场景检测以及不同点位的人脸跟踪...
这些组件负责呼叫处理、用户身份验证、漫游等功能。 4. **操作和支持子系统(OSS)**:用于监控和维护整个GSM网络,确保其正常运行。 **三、GSM的触发流程** 1. **开机注册**:移动台开机后,会自动搜索最近的...
验证用户的身份和使用权限、防止用户越权操 作;确保计算机系统有一个良好的电磁兼容工作环境;建立完备的安全管理制度,防止 非法进入计算机控制室和各种偷窃、破坏活动的发生。 抑制和防止电磁泄漏(即TEMPEST技术...
在系统开发过程中,创建系统登录窗体是必不可少的步骤,它为用户提供安全的登录界面,验证用户的身份。三层结构的应用使得登录代码可以更加模块化,降低了代码的复杂性。通过角色信息表(RoleInfo)和权限表...
系统简述 学生成绩管理系统是一个基于UML的面向对象设计的系统,旨在管理和跟踪学生的成绩信息。该系统将提供一个统一的平台,用于学生、教师和管理员之间的信息交流和沟通。 软件设计目标 ### 功能目标 1. 学生...
8. **安全与权限**:探讨用户身份验证、访问控制、权限模型(如ACL和Unix的用户组模式)以及安全性问题。 9. **分布式系统**:简述分布式操作系统的基本概念、分布式进程通信、命名服务、复制服务以及分布式文件...
首先,SQL Server 2008提供了两种身份验证模式:Windows身份验证模式和混合模式。Windows身份验证模式依赖于Windows操作系统进行用户身份验证,用户通过其Windows账户名和密码连接到SQL Server。混合模式则允许用户...
6. 系统安全性设计:包括身份验证、授权、数据加密、防火墙规则等。 7. 性能与可扩展性设计:考虑系统性能指标(如响应时间、并发处理能力)和未来扩展需求。 8. 技术选型与实现策略:说明所选择的技术栈、开发工具...
7. **安全性与权限管理**:控制用户对数据库的访问,包括用户身份验证、权限分配和审计。 8. **分布式数据库**:随着云计算的发展,分布式数据库成为热门话题,涉及数据分区、复制、分布式事务处理等。 9. **NoSQL...
仓库管理系统的登录模块实现主要包括用户身份验证、用户权限管理等方面。 基础信息模块实现 仓库管理系统的基础信息模块实现主要包括商品管理模块实现、供应商管理模块实现等方面。 销售出库管理模块实现 仓库...
7. **安全性与权限**:讲述访问控制、权限模型(如ACL、能力系统)、身份验证和授权机制。 8. **分布式操作系统**:简述分布式系统的概念、特征,对比集中式和分布式操作系统的差异。 9. **实时操作系统**:说明...
5. 安全技术:包括加密传输(SSL/TLS)、身份验证(OAuth、JWT)、访问控制(RBAC)等,保障系统安全。 四、系统设计原则 1. 易用性:用户界面应简洁直观,便于操作,减少用户学习成本。 2. 可扩展性:系统应能适应...