【发布时间】: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