我有一个ASP.NET Core 6.0项目,我使用2个身份验证方案。
其中一个身份验证方案是,默认为“JwtBearerounce.AuthenticationScheme”
这只适用于基于角色的身份验证。
另一个是“自定义”
“自定义”仅用于基于策略的身份验证。
.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
.....
}
.AddJwtBearer("Custom", options =>
{
.....
});
在那之后,我添加了一些范围到“自定义”政策。
我想与控制器联系;
[Authorize(AuthenticationSchemes =“Custom”,Policy =“RandomPolicyName”)]
- 或 *
[Authorize(Roles=“User”)] - 我知道我不能在同一个控制器上同时使用这两个,它不能工作,因为它必须传递两个authorize属性。那我该怎么做呢??***
1条答案
按热度按时间utugiqy61#
我解决了这个问题。这对我来说很有效,如果你看到任何问题或有任何其他想法,然后与我们分享:)