这是我第一次在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相关问答推荐

Visual Studio发布的网站得到错误类型JObject is not defined when page is load on server"''"

IIS重写模块排除机器人但允许GoogleBot

无法在Microsoft Windows Server 2016(数据中心)上运行.NET可移植性分析器

如何处理当前文件中基本文件中的S onClick方法

将 Response.Headers.Add 替换为方法属性decorator

在 AppConfig.json 中存储对象的最佳方式

为什么 Web 架构应该是松耦合的?

ASP .Net Web API 将图像下载为二进制

.NET 站点如何隐藏其文件的 .aspx 扩展名?

ASP.NET Response.Redirect 使用 302 而不是 301

返回 JSON 对象 (ASP.NET WebAPI)

将复选框的值传递给 asp.net mvc4 中的控制器操作

无法复制文件.访问路径被拒绝

ASP.NET 中的多选下拉列表

如何在 ASP.NET 站点中添加 favicon.ico

如何在 asp net core api 中使用 Created(或 CreatedAtAction / CreatedAtRoute)

如何从 ASP.NET 中的数据表/数据视图中 Select 前 n 行

如何在 .NET Core 中实现 DbContext 连接字符串?

HttpContext.Current属性的跨线程使用及相关的东西

SignalR 2.0 错误:无法加载文件或程序集 Microsoft.Owin.Security