reactjs - .net core 3.1 web API如何重定向到JWT身份验证的登录页面失败
问题描述
我是 .net core 3.1 的新手,目前正在使用 .net core 为 Web API 进行 JWT 身份验证,其客户端使用 ReactJS 开发。如果身份验证失败,如何重定向到我的登录页面或以任何方式从自定义授权属性返回,并使用未经授权的代码(401)在客户端进行检查。我试过的,
public void OnAuthorization(AuthorizationFilterContext context)
{
ApiResult result = new ApiResult();
var IsAuthenticated = context.HttpContext.User.Identity.IsAuthenticated;
var claimsIndentity = context.HttpContext.User.Identity as ClaimsIdentity;
if (IsAuthenticated)
{
//set custom code
}
else if (!IsAuthenticated) {
Exception ex = new Exception();
context.HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
//need to redirect to Reactjs login page or return from here with unauthorized code
}
return ;
}
还尝试使用 startup.cs 配置:
app.UseStatusCodePages(async context => {
var request = context.HttpContext.Request;
var response = context.HttpContext.Response;
if (response.StatusCode == (int)HttpStatusCode.Unauthorized)
{
response.Redirect("*****"); //my login page is Reactjs page (login.js) or any way to
return the status code to client
}
});
解决方案
推荐阅读
- android - 如何使用retrofit2接收具有可变数量类的数据?
- java - Jenkins服务器上的Maven失败,出于某种原因试图从apache快照中获取java-websocket 1.3.0?
- python - 如何使用python提取zip文件中的特定文件集
- javascript - 如何删除/清除传单中的标记?
- django - 表单验证返回 False
- python - 自己内部字典的访问键
- angular - Angular6 中用于 calc.exe 的 ActiveXObject
- python - 如何使用带有嵌套列表和字典的 Python 循环访问 JSON 文件
- arrays - 2D 矩阵到 3D 矩阵,行到 [row, col] 映射
- php - PHP 简单 HTML DOM 解析器:如何读取 div class=price promo?