Web认证与授权
字数 711 2025-11-14 00:55:23

Web认证与授权

  1. 认证的基本概念
    认证是验证用户身份的过程,如同出示身份证进入特定场所。在互联网中,用户通过提交凭证(如用户名和密码、生物特征、数字证书)向系统证明身份。例如登录邮箱时,服务器通过比对输入的密码与数据库存储的哈希值来确认身份。

  2. 常见认证方式

    • 单因素认证:仅依赖一种凭证,如静态密码。
    • 多因素认证(MFA):结合多种独立凭证,例如密码(知识因素)、手机验证码(持有因素)和指纹(生物因素)。
    • OAuth 2.0:授权框架,允许用户通过第三方平台(如Google或微信)登录,无需直接暴露密码给目标应用。
  3. 授权的定义与实现
    授权在认证成功后进行,决定用户可访问的资源或操作权限。例如,企业系统中管理员可删除文件,而普通员工仅能查看。权限通常通过访问控制列表(ACL)或角色权限模型(如RBAC)管理。

  4. 会话管理与令牌技术
    认证通过后,服务器创建会话并返回会话ID(通常存储于Cookie),或使用无状态令牌(如JWT)。JWT包含用户信息和签名,客户端每次请求携带它,服务器验证签名后直接授权,无需查询数据库。

  5. 单点登录(SSO)
    SSO允许用户登录一次后访问多个关联系统。例如,使用校园账号同时登录图书馆和选课系统。依赖中央认证服务,通过安全令牌在系统间传递认证状态。

  6. 安全风险与防护

    • 密码爆破:通过速率限制和账户锁定缓解。
    • 会话劫持:采用HTTPS传输、短期令牌和定期刷新机制。
    • OAuth滥用:严格验证回调地址,限制令牌范围。
  7. 现实应用场景

    • 银行App:登录时需密码+短信验证(MFA),转账时根据账户权限授权操作。
    • 云服务平台:通过API密钥对程序进行认证,按RBAC策略控制资源访问。
Web认证与授权 认证的基本概念 认证是验证用户身份的过程,如同出示身份证进入特定场所。在互联网中,用户通过提交凭证(如用户名和密码、生物特征、数字证书)向系统证明身份。例如登录邮箱时,服务器通过比对输入的密码与数据库存储的哈希值来确认身份。 常见认证方式 单因素认证 :仅依赖一种凭证,如静态密码。 多因素认证(MFA) :结合多种独立凭证,例如密码(知识因素)、手机验证码(持有因素)和指纹(生物因素)。 OAuth 2.0 :授权框架,允许用户通过第三方平台(如Google或微信)登录,无需直接暴露密码给目标应用。 授权的定义与实现 授权在认证成功后进行,决定用户可访问的资源或操作权限。例如,企业系统中管理员可删除文件,而普通员工仅能查看。权限通常通过访问控制列表(ACL)或角色权限模型(如RBAC)管理。 会话管理与令牌技术 认证通过后,服务器创建会话并返回会话ID(通常存储于Cookie),或使用无状态令牌(如JWT)。JWT包含用户信息和签名,客户端每次请求携带它,服务器验证签名后直接授权,无需查询数据库。 单点登录(SSO) SSO允许用户登录一次后访问多个关联系统。例如,使用校园账号同时登录图书馆和选课系统。依赖中央认证服务,通过安全令牌在系统间传递认证状态。 安全风险与防护 密码爆破:通过速率限制和账户锁定缓解。 会话劫持:采用HTTPS传输、短期令牌和定期刷新机制。 OAuth滥用:严格验证回调地址,限制令牌范围。 现实应用场景 银行App:登录时需密码+短信验证(MFA),转账时根据账户权限授权操作。 云服务平台:通过API密钥对程序进行认证,按RBAC策略控制资源访问。