C# 如何在I';我在asp.net核心mvc中未经授权?
我对该功能的实现有一个问题,当我未经授权时,该功能总是返回视图进行登录。我的项目是在ASP.NET CORE MVC 3.1中使用JWT Bearer创建的。我可以直接登录到view Login.cshtml(单击“登录”后),然后我的带有[Autorize]属性的方法就可以正常工作了。 当我转到具有[Authorize]属性的方法时,我希望始终返回视图以登录C# 如何在I';我在asp.net核心mvc中未经授权?,c#,asp.net-mvc,asp.net-core,asp.net-core-mvc,asp.net-core-3.1,C#,Asp.net Mvc,Asp.net Core,Asp.net Core Mvc,Asp.net Core 3.1,我对该功能的实现有一个问题,当我未经授权时,该功能总是返回视图进行登录。我的项目是在ASP.NET CORE MVC 3.1中使用JWT Bearer创建的。我可以直接登录到view Login.cshtml(单击“登录”后),然后我的带有[Autorize]属性的方法就可以正常工作了。 当我转到具有[Authorize]属性的方法时,我希望始终返回视图以登录 我发现了一些cookie返回登录视图的例子,但我在会话中使用JWT承载器,我不知道这是必要的。提前感谢您的帮助。每当您调用具有autho
我发现了一些cookie返回登录视图的例子,但我在会话中使用JWT承载器,我不知道这是必要的。提前感谢您的帮助。每当您调用具有authorize属性的API时,如果承载令牌过期,您必须向调用者返回401-Unauthorized错误代码。一旦收到401错误代码,您就可以重定向到仅使用前端逻辑的登录页面 无论何时调用具有authorize属性的API,如果承载令牌过期,则必须向调用方返回401-Unauthorized错误代码。一旦收到401错误代码,您就可以重定向到仅使用前端逻辑的登录页面 最后我找到了在.NETCore3.1中工作的方法。当状态代码为401-未授权时,此代码重定向到登录/登录页面
app.UseStatusCodePages(async context => {
var request = context.HttpContext.Request;
var response = context.HttpContext.Response;
if (response.StatusCode == (int)HttpStatusCode.Unauthorized)
{
response.Redirect("/Home/Login?returnUrl=" + request.Path);
}
});
最后,我找到了在.NETCore3.1中工作的方法。当状态代码为401-未授权时,此代码重定向到登录/登录页面
app.UseStatusCodePages(async context => {
var request = context.HttpContext.Request;
var response = context.HttpContext.Response;
if (response.StatusCode == (int)HttpStatusCode.Unauthorized)
{
response.Redirect("/Home/Login?returnUrl=" + request.Path);
}
});
我在项目中使用.cshtml视图,并考虑添加如下逻辑:services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(o=>o.LoginPath=newPathString(“/Home/SignIn”)@卡米尔,你的重定向代码不起作用。我测试它,在我的项目中使用.cshtml视图,并考虑添加如下逻辑:services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(o=>o.LoginPath=new-PathString(“/Home/sign”)@卡米尔,你的重定向代码不起作用。我测试它。