Я хочу сделать авторизацию на основе ролей с использованием ASP.NET Core, но роли должны быть редактируемыми. Моя идея состоит в том, чтобы сделать такие роли:
- имя
- canEdit
- CanDelete
- и т.д.
И пользователю будет назначена роль.
Роли по умолчанию не вариант, потому что мне нужно редактировать эти роли.
Я думаю о странном использовании Policies или написании собственной авторизации.
[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
.
Как вы думаете, ребята разработчики? Есть идеи?