.net核心API控制器不处理身份验证和授权



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

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

[路由("api/[控制器]"(]

[ApiController]

[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
[Authorize(Roles = "Admin,User")]

我想好了如何做到这一点。在控制器中,AuthenticationSchemes可以被分配给多个认证模式。

最新更新