如何进行权限管理系统设计

目录

一、需求背景

1.1 业务复杂性

1.2 信息安全

1.3 操作安全

1.4 页面简洁

二、权限系统三要素

三、权限设计思路

3.1 了解用户需求和系统需求

3.2  制定权限策略和权限模型

3.3 划分角色和权限

3.4 配置权限访问控制

3.5 设计安全审计机制

3.6 定期更新和优化权限设计

一、需求背景

为什么要进行系统的权限设计?有以下几点

1.1 业务复杂性

如订单处理业务,随着业务的推进,订单处理的业务逻辑非常复杂,原先一个人能完成的处理工作,现在必须要由多人才能完成,此时我们就可以通过权限系统,限制每个人的操作权限,如A人员负责订单的录入,B人员负责补充客户信息,C人员负责订单审核发送。。。,通过合理的权限分配把复杂流程拆分了,达到专人专职的效果,提升效率。

1.2 信息安全

就是数据敏感,部门不通,职位不同,看到系统页面数据应该是不一样的,如管理员有操作所有菜单和数据的权限,普通用户只能看到部分菜单或者只能查看数据,无法对其进行增删改。要求严格业务,则可能会维护不同的角色,批量给角色设置菜单权限和数据操作权限。

1.3 操作安全

在一个大型系统中,一个误操作产生的后果可能是非常严重的;权限系统的存在最大程度上避免了这些,只要是界面上出现的功能,都是可以操作或不会产生严重后果的。

1.4 页面简洁

如果系统没有进行权限管理,那么每个帐号登录后看到的界面都是一样的,充斥着各种与自己无关的,冗余的信息,甚至还需要专门培训,花费巨大的成本去学习;经过权限系统的管理,每个帐号登陆后只能看到和自己有关的信息,可以更快速地理解自己工作范围内的业务。

二、权限系统三要素

主要由帐号,角色,权限三要素构成

帐号,是登录系统的唯一身份识别,一个账号代表一个用户。由自己注册或系统管理员统一注册分配。

角色,为账号批量分配权限。在一个系统中,不可能为每个帐号订制权限,所以给同一类帐号赋予一个“角色”,以达到批量分配权限的目的。

权限,又分为操作权限,页面权限和数据权限。其中操作权限指的是用户可以进行的操作,例如是否可以新增、删除、编辑等。页面权限指的是可以看到的页面。数据权限指的是可以查看数据的范围。

三、权限设计思路

账号和角色没什么好说的,主要看权限这一块怎么设计,先来一张网图

系统权限设计是指在一个计算机系统中,对用户、角色、资源等进行权限管理的设计。权限设计的目的是确保系统的安全性和可控性,保护系统的机密性、完整性和可用性,避免非法操作和攻击。

以下是几个权限相关的表(大概情况,可能没有公司表)

t_company(公司表),t_org(部门表/组织结构表),t_user(用户表),t_role(角色表),t_user_role(用户角色表),t_resources(资源表),t_user_resources(用户资源表),t_role_resources(角色资源关联表)

 系统权限设计思路如下

3.1 了解用户需求和系统需求

在进行权限设计之前,需要了解系统的功能、架构、安全需求和用户需求等方面的信息。对系统和用户需求的分析是设计权限的基础,可以确保权限分配的合理性和有效性。

3.2  制定权限策略和权限模型

权限策略是指规定权限分配的标准和方法,权限模型是指对权限进行建模和描述的方法。一般来说,权限策略和权限模型应该具有可扩展性、可维护性和可控性。 

常见权限模型如下:

ACL:用户 —> 权限,直接规定资源可以被哪些主体进行访问操作。权限是围绕资源来设定的。

RBAC:用户 —> 角色 —> 权限,规定角色可以对哪些资源进行访问,最后再给用户主体分配角色,此种模型最常用。

ABAC:根据用户特征,对象特征,操作类型等属性确定访问权限。即哪些属性的主体可以对哪些属性的资源在哪些属性的情况下进行哪些操作。

这个是基于属性的权限控制模型,比较适用于用户数量多并且授权比较复杂的场景。

PBAC:PBAC是一种将角色和属性与逻辑结合以创建灵活的动态控制策略的方法。

3.3 划分角色和权限

在权限设计中,一般会涉及到多种角色和权限。需要根据实际需求,将不同的角色和权限进行划分和分类,建立角色与权限之间的映射关系。角色是指一个或一组用户在系统中所拥有的一组特定权限,权限是指一个用户可以执行的操作。

3.4 配置权限访问控制

在权限设计中,需要考虑到访问控制的问题。访问控制是指对用户访问系统资源的控制。可以通过访问控制列表(ACL)、角色授权、审批流程等方法来实现对访问的控制。

3.5 设计安全审计机制

安全审计是指对系统的操作和事件进行记录和审计。通过对系统的操作进行记录和分析,可以检测到系统的异常操作和攻击行为,从而及时采取相应的安全措施。

3.6 定期更新和优化权限设计

随着系统的不断发展和用户需求的变化,权限设计也需要不断地进行更新和优化。定期审查和修改权限策略和权限模型,保证权限设计的合理性和有效性。

以上是权限系统设计时的一些参考要素,实际设计时还需要根据具体的用户需求来灵活变动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 权限管理系统是用来管理用户对系统中的资源和功能的访问权限的系统。设计权限管理系统的文档应该包含以下内容: 1. 系统概述:对权限管理系统的整体架构和功能进行概述,包括系统的用户群体、目标和范围。 2. 系统功能需求:列出系统所需的功能,并对每个功能进行详细描述。 3. 系统架构设计:对系统的架构进行设计,包括系统的组成部分、每个部分的功能、部分之间的关系以及系统与外界的交互方式。 4. 数据库设计设计系统的数据库结构,包括数据库中的表、字段和约束。 5. 用户界面设计设计系统的用户界面,包括界面的布局、功能按钮和信息展示。 6. 系统安全设计设计系统的安全机制,包括认证、授权、加密和日志记录等。 7. 系统测试方案:设计系统测试方案,包括测试环境、测试数据、测试用例和测试结果的 ### 回答2: 权限管理系统设计文档是一个详细描述权限管理系统设计和功能的文档。该文档包括系统的需求、目标、功能、架构、流程以及其他相关细节。 首先,在权限管理系统设计中,需要明确系统的主要目标和功能。这可能包括身份验证、用户角色、权限分配、审批流程以及日志跟踪等功能。 随后,设计文档应详细描述系统的各个模块和组件的功能和交互方式。例如,用户管理模块可以包括注册、登录、密码重置等功能;角色管理模块可以包括角色的创建、编辑和删除等功能;权限分配模块可以包括将角色和权限进行关联等功能。 在设计文档中,需要明确系统的数据模型和数据库设计。这可能涉及到用户表、角色表、权限表以及其他相关表的设计。此外,需要考虑权限的继承和优先级等问题,以确保权限的正确分配和管理。 另外,设计文档还应描述系统的架构和技术选型。这可能涉及到使用的编程语言、开发框架、数据库管理系统等。此外,还需要考虑系统的可扩展性、性能和安全性等方面。 最后,设计文档应包含系统的工作流程和使用方法的详细说明,以帮助开发人员和终端用户了解系统的操作方式和流程。 总之,权限管理系统设计文档是一个对权限管理系统的总体设计和功能进行详细说明的文档。通过设计文档,开发人员和用户可以清晰地了解系统的需求和功能,有助于系统的开发和使用。 ### 回答3: 权限管理系统设计文档是一个指导开发人员设计和开发权限管理系统的重要文档。在这个文档中,将详细描述系统的功能需求、架构设计、模块划分、数据库设计以及系统安全措施等重要设计方面。 首先,文档将明确规定权限管理系统的功能需求。包括用户管理、角色管理、权限管理、日志管理等基本功能。通过细致的需求分析,确保开发人员完全理解系统应该具备的功能,并基于这些需求进行系统设计。 在架构设计方面,文档将根据系统规模和复杂性,选择合适的架构类型。例如,可以选择三层架构或者微服务架构。文档还将明确每个模块的职责和协作关系,以便开发人员能够清晰地理解系统的整体架构。 在数据库设计方面,文档将描述各个实体之间的关系和属性,确保数据库设计满足系统的数据存储需求。同时,还将定义合适的数据访问层,提供高效的数据操作和查询功能。 最后,文档将提供系统安全措施的设计。包括用户身份认证、权限验证、敏感数据保护等方面。通过合理的安全设计,可以保护系统免受非法访问和数据泄漏的威胁。 综上所述,权限管理系统设计文档是一个非常重要的指导开发工作的文档。它将详细描述系统的功能需求、架构设计数据库设计和安全措施等方面,确保开发人员能够按照规范进行系统的设计和开发,最终提供高质量的权限管理系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值