我是第一次在ASP.NET Core中创建授权。
我从这里使用了TUTORIAL教程
问题是当我从 postman 发送请求时:
Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6I...
到我的用[Authorize]属性修饰的 Controller 中的方法。
我总是收到
401 Unauthorized
...我在该教程的下方看到注释,似乎有些人也有类似的问题。我不知道如何解决这个问题。
最佳答案
在其他人的要求下,这里是答案:
问题出在Startup.cs中的中间件顺序上
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
ConfigureAuth(app); // your authorisation configuration
app.UseMvc();
}
为什么中间件顺序很重要?如果我们将
app.UseMvc()
放在首位,则MVC操作将进入路由,并且如果它们看到Authorize属性,则他们将控制其处理,因此我们收到401 Unauthorized错误。我希望它可以帮助某人;)
关于c# - ASP.NET Core中的授权。对于[Authorize]属性始终为401未经授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43574552/