Web 权限管理介绍

2021-04-29 web security

简介

简单来说,权限管理就是为了解决 Who is able to do what on something given some context 的问题。

  • Who(Subject) 一个唯一的主体,例如可以是某个用户 andy,也可以是某个服务。
  • Able(Result) 检查结果,也就是允许 (Allow) 或者禁止 (Deny) 。
  • What(Action) 执行的动作,例如 deletecreate 或者 scoped:action:something
  • Something(Resource) 唯一的资源标识,可以是统一资源名,例如 urn:isbn:3827370191article.1234
  • Context 上下文信息,例如 IP 地址、时间等等。

RBAC

也就是基于角色的访问控制,其全称为 Role-Based Access Control 。简单来说,就是每个用户关联一个或多个角色,每个角色关联一个或多个权限,权限决定了能对那些资源做什么事情,从而可以实现了灵活的权限管理。

另外,为了方便管理通常也会对角色或者权限做类似目录树的层级管理。

其它

分权分域

这是权限管理系统所能实现的效果之一,简单来说就是两点:

  • 分权,定制用户权限,不同的用户登录系统后的界面不同,所能进行的操作也不同。
  • 分域,控制用户权限,防止越权访问和跨域访问。