我想使用ASP.NET Core进行基于角色的授权,但是角色需要可编辑。我的想法是扮演这样的角色:
用户将分配角色。
默认角色不是一个选项,因为我需要编辑这些角色。 我正在考虑使用政策或使用我自己的授权进行一些奇怪的操作。
[Authorize(Roles = "Administrator")] // Not editable
我必须告诉我,我没有使用Identity
,为了进行身份验证,我使用了JWT。
...
[Authorize(Policy = "CanEdit")]
SomeEditMethod()
...
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddAuthorization(options =>
{
options.AddPolicy("CanEdit", policy => policy.RequirePrivilege("CanEdit"));
});
}
我很难成为RequirePrivilege
。
您如何看待开发人员?有什么想法吗?
答案 0 :(得分:0)
好的,所以...
我通过将其保存在JWT中,然后添加了这样的策略来做到这一点。
...
services.AddAuthorization(options => {
options.AddPolicy("CanEditUnit", policy => policy.RequireClaim("CanEditUnit", "True"));
});
...
然后使用Authorize
属性。例如:
[Authorize(Policy = "CanEditUnit")
感谢大家的帮助!尤其是@Briefkasten。