c# - ASP.NET Core中的授权。对于[Authorize]属性始终为401未经授权

标签 c# asp.net asp.net-core authorization bearer-token

我是第一次在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/

相关文章:

c# - 检查sql server中的表是否被SET LOCK_TIMEOUT 0锁定

c# - 尝试使用 TextChanged 作为事件将结果的总和相乘并放入文本框中

c# - 关于在 Thread 中传递的局部变量

asp.net - googlebot在抓取时会保留 session 吗?

javascript - 更改 FullCalendar 中的日期背景颜色

asp.net-core - NLog.Web.AspNetCore 布局渲染器为空

c# - ValidateAntiForgeryToken 是否使用 POST 自动实现?

c# - 如何在 ASP.NET Core 中获取 TLS/SSL 相关信息?

c# - 填充同一 DataSet 的不同 DataTable 是线程安全操作吗?

c# - 是否需要 bindingRedirect .config 文件或应用程序中的所有程序集?