为了账号安全,请及时绑定邮箱和手机立即绑定

ASP.NET 网站的令牌身份验证

ASP.NET 网站的令牌身份验证

C#
慕运维8079593 2021-10-24 14:08:05
我开发了一个带有 cookie 身份验证的 ASP.Net 网站。在阅读了有关 CSRF 攻击的信息后,我决定更改我的网站以使用将保存在客户端的令牌身份验证。所以我所做的是:使用过的登录名用户收到一个令牌并将其保存在 sessionStorage用户在每个API请求的标头中发送令牌。这很好用。现在我缺少的一件事是页面加载,这意味着如果用户在登录之前尝试访问页面,它应该将他重定向到登录页面。这显然是我想在页面加载之前做的事情,例如在我在以下代码中添加以下代码之前Site.Master:if (!AuthCookieValidator.IsValid(HttpContext.Current)){    s_Logger.Info("the user is not authenticated, logging out!");    Response.Redirect("/Login");}但是现在我无法实现这个逻辑,除非我同时保留基于会话的令牌 + 客户端令牌。这里的解决方案是什么?
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

所以我的解决方案是这样的:

  1. 用户登录

  2. 用户收到一个令牌并将其保存在 sessionStorage 中

  3. 用户在每个 API 请求的标头中发送令牌。

  4. 如果用户尝试直接访问 url,则在 React 代码开始呈现页面之前,它将发送带有令牌的身份验证检查请求并相应地呈现。

对我的方法的任何评论表示赞赏


查看完整回答
反对 回复 2021-10-24
  • 1 回答
  • 0 关注
  • 186 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信