Web 认证与授权
字数 582 2025-11-21 18:18:48
Web 认证与授权
-
Web 认证与授权的基本概念
Web 认证是验证用户身份的过程,例如通过用户名和密码确认用户是谁。授权则是在认证成功后,决定用户有权访问哪些资源或执行哪些操作。例如,登录社交媒体后,只能编辑自己的帖子,无法修改他人的内容。 -
认证的常见方式
- 基础认证:用户通过浏览器输入用户名和密码,服务器验证后允许访问。
- 会话认证:用户登录后,服务器生成一个会话 ID 并存储在 Cookie 中,后续请求通过 Cookie 验证身份。
- 令牌认证:使用无状态的令牌(如 JWT),服务器签发包含用户信息的加密令牌,客户端在请求头中携带该令牌以供验证。
-
授权的实现模型
- 基于角色的访问控制:根据用户角色(如管理员、普通用户)分配权限。
- OAuth 2.0 框架:允许第三方应用在用户授权后有限访问资源,例如通过 GitHub 登录其他网站。
- 权限策略:在服务器端定义资源访问规则,例如“仅资源所有者可删除数据”。
-
认证与授权的安全实践
- 使用 HTTPS 加密传输认证信息,防止窃听。
- 对密码进行加盐哈希存储,避免明文泄露风险。
- 设置令牌过期时间并支持刷新机制,减少长期有效的安全威胁。
-
实际应用场景
- 在线银行:登录(认证)后,仅能查看自己的账户(授权)。
- 云存储服务:用户通过 OAuth 2.0 授权第三方应用访问特定文件,但禁止修改其他数据。