【项目开发---权限】

权限管理

  一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。

  授权(Authorization)是为了保证用户有对请求资源特定操作的权限。比如用户的私人信息只能自己能访问,其他人无法看到;有些特殊的操作只能管理员可以操作,其他用户有只读的权限等。

权限是什么?

  1. 员工进门需要刷卡。
  2. 电脑某个文件夹提示无权访问。
  3. 看女神的QQ空间提示无权访问。

我们在做任何一款产品的时候,或多或少都会涉及到用户和权限的问题。 比如:

  • 做企业类软件,不同部门、不同职位的人的权限是不同的;
  • 做论坛类产品的时候,版主和访客权限也是不一样的;
  • 一款产品的收费用户和免费用户权限也是截然不同的。

很多情况下开发设计用户和权限关系的时候,都是按照感觉来进行自我推理搭建产品的用户与权限模型。这种基于感觉推理搭建的模型肯定存在诸多的问题,比如写死了关系导致权限不灵活、考虑不周导致权限覆盖能力弱等等。

常见权限管理模型:RBAC

RBAC是一套成熟的权限模型。在传统权限模型中,我们直接把权限赋予用户。而在RBAC中,增加了“角色”的概念,我们首先把权限赋予角色,再把角色赋予用户。这样,由于增加了角色,授权会更加灵活方便。

权限系统:谁?是什么身份?可以允许看到什么内容,执行哪些操作?

  • 谁?当前访问管理系统的是什么人? 用户
  • 是什么身份? 角色,如:经理、主管、销售专员、客服、财务等等。
  • 可以看到什么,执行哪些操作?数据管理:允许看到哪些菜单、字段等,功能权限:增删改

权限组成:用户、角色、权限

上一篇:hyperf后台管理系统


下一篇:RBAC权限管理项目(一)(项目构建及相关配置)