我开发了一个带有 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个赞
所以我的解决方案是这样的:
用户登录
用户收到一个令牌并将其保存在 sessionStorage 中
用户在每个 API 请求的标头中发送令牌。
如果用户尝试直接访问 url,则在 React 代码开始呈现页面之前,它将发送带有令牌的身份验证检查请求并相应地呈现。
对我的方法的任何评论表示赞赏
- 1 回答
- 0 关注
- 186 浏览
添加回答
举报
0/150
提交
取消