这是我第一次在ASP.NET Core中创建授权. 我用了这里的教程TUTORIAL

问题是当我发送postman 的请求时:

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6I...

添加到用[Authorize]属性修饰的控制器中的我的方法.

我总是收到401 Unauthorized...我在那个教程下面看到了 comments ,似乎有些人也有类似的问题.我不知道怎样才能解决这个问题.

推荐答案

应其他人的要求,以下是答案:

问题在于启动时的中间件顺序.反恐精英

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    ConfigureAuth(app); // your authorisation configuration

    app.UseMvc();
}

为什么秩序很重要?如果我们先输入app.UseMvc(),那么MVC操作将进入路由,如果他们看到Authorize属性,他们将控制其处理,这就是为什么我们会收到401个未经授权的错误.

我希望它能帮助别人;)

Asp.net相关问答推荐

ASP.NET MVC forEach 循环仅返回 1 个值

如何从 JavaScript 调用 C# 函数?

ASP MVC 授权除少数之外的所有操作

ASP.NET MVC4 jquery/javascript 包的使用

在视图 Mvc.net 中访问路由值

等待本地主机,永远!

将 ListItem 的 ASP.NET 列表数据绑定到 DropDownList 问题

使用 JSON.NET 解析 json 字符串

使用 ASP.NET WebForms 的 jQuery DataTables 服务器端处理

在 C# 中将 IHtmlContent/TagBuilder 转换为字符串

使用 Visual Studio 2012 恢复删除的文件

发布网站项目时临时路径太长

如何获取正在访问 ASP.NET 应用程序的当前用户?

如何在 ASP.NET MVC 中启用跨源请求

不同域的登录页面

VS 2010 中缺少 App_Code 文件夹

StyleBundle 索引超出了数组的范围

DataTable 不包含 AsEnumerable 的定义

如何检索 X509Store 中的所有证书

在 ASP.NET 中写入文件以响应后回发不起作用