1. 什么是Authorization
Authorization(授权)是计算机安全领域的一个核心概念,它决定了用户或系统能够访问哪些资源以及可以执行哪些操作。简单来说,授权就是回答"你能做什么"这个问题。
在实际应用中,授权通常发生在身份验证(Authentication)之后。先确认你是谁(登录),再确定你能做什么(权限)。比如:
- 登录公司邮箱是身份验证
- 能否删除收件箱邮件是授权
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 授权的工作原理
2.1 授权的基本流程
典型的授权流程包含以下步骤:
- 用户提供凭证(如用户名密码)进行身份验证
- 系统验证凭证有效性
- 系统查询该用户的权限配置
- 根据权限决定是否允许请求的操作
- 记录授权决策日志
2.2 常见的授权模型
2.2.1 基于角色的访问控制(RBAC)
这是最常见的授权模型,特点包括:
- 权限分配给角色而非个人
- 用户通过获得角色来继承权限
- 适合组织结构明确的场景
示例:
plaintext复制角色:财务专员
权限:查看财务报表、提交报销申请
用户:张三被分配"财务专员"角色
2.2.2 基于属性的访问控制(ABAC)
更灵活的模型,考虑多种属性:
- 用户属性(部门、职级)
- 资源属性(敏感等级、所属部门)
- 环境属性(时间、位置)
示例规则:
"仅允许部门经理在工作时间访问本部门敏感文件"
2.2.3 自主访问控制(DAC)
资源所有者自主决定访问权限,常见于文件系统:
- 用户A可以设置文件X的读写权限
- 权限可以授予特定用户或用户组
3. 授权令牌详解
3.1 什么是授权令牌
授权令牌(Authorization Token)是系统颁发给客户端的一串凭证,用于证明已获得授权。常见的令牌类型包括:
-
Session Token:
- 传统Web应用使用
- 服务器存储会话状态
- 通过Cookie传递
-
JWT(JSON Web Token):
- 自包含的JSON格式令牌
- 包含头部、载荷和签名三部分
- 无需服务器存储状态
-
OAuth Token:
- 用于第三方授权
- 有acces
