13_authentication_basics
认证、授权、验证、验证(顺序注释)
后端正确的执行顺序
- 验证
- 验证(如果需要)
- 认证
4、授权
1. 验证
验证检查传入数据的结构是否正确。
示例:
- 电子邮件的格式是否正确?
- 密码是否至少8个字符?
- 是否缺少必填字段?
验证发生在请求开始时。
如果验证失败 → 请求将立即被拒绝。
2.验证
验证确认身份的所有权。
示例:
- 电子邮件验证链接
- 一次性密码验证
- 电话号码确认
验证通常在注册后进行。
它确保用户实际拥有电子邮件或电话。
3. 身份验证
身份验证检查用户是谁。
示例:
- 使用电子邮件和密码登录
- JWT令牌验证
如果凭据正确 → 用户已通过身份验证。
如果不是 → 401 未经授权的响应。
4.授权
授权检查允许经过身份验证的用户执行哪些操作。
示例:
- 只有管理员可以删除用户
- 用户只能编辑自己的帖子
如果缺少权限 → 403 禁止响应。
简单理解
验证 → 数据正确吗?
验证 → 身份是否得到确认?
身份验证 → 你是谁?
授权 → 你可以做什么?
完整的请求流程示例
客户要求
→ 验证中间件
→ 认证中间件
→ 授权检查
→ 控制器逻辑
→ 回应
这是标准的安全后端请求管道。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xhj的博客!