【问题标题】:.net core API controller does not process identity authentication and authorization.net core API 控制器不处理身份认证和授权
【发布时间】:2022-05-11 23:52:45
【问题描述】:

我有一个 .NETcore MVC 项目在同一个站点中包含控制器和 API 控制器,它使用基本的身份验证/授权。 API 控制器专为本地视图或其他应用程序的潜力而设计。我希望本地视图中的 Javascript 可以通过传入身份验证信息来调用 API(可以在标题中看到:aspNetCore.Identity.Application)。但是,它从未到达 API 并返回 401 错误。 相同的设计在 ASP.NET 中有效,但在 ASP.net 核心中中断。

以下是控制器的属性。如果我将其设置为 [AllowAnonymous],则根本没有设置用户信息。

[Route("api/[控制器]")]

[ApiController]

[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]

[Authorize(Roles = "Admin,User")]

【问题讨论】:

  • 你的js中有JwtToken吗?
  • 没有。 MVC 视图中的 js 试图调用同一站点中的 API 控制器。我希望该调用将身份验证传递给 API 控制器,该控制器在 .NET 但在 .NET 核心中工作。 JWT 授权保留给来自其他站点的调用。

标签: controller asp.net-core-mvc identity


【解决方案1】:

试了好多次,终于知道怎么弄了。在控制器中,AuthenticationSchemes 可以分配给多个身份验证模式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-15
    • 1970-01-01
    • 2020-10-15
    • 2017-01-23
    • 1970-01-01
    • 2021-04-16
    • 2020-08-06
    • 1970-01-01
    相关资源
    最近更新 更多