Я читаю эту книгу, и в ней говорится об использовании утверждений, а роли для более наследственного.Кажется, о чем не говорится, как хранить эти утверждения.
Скажем, у меня есть эти утверждения.
canRead
canWrite
CanUpdate
CanDelete
Теперь у меня есть 2 типа администраторов "ролей" (должен иметьвсе эти утверждения) и пользователь (должен иметь только canRead).
Должен ли я создать новую таблицу (или перехватить таблицы ролей ... что из книги выглядит так, как будто вы используете AspNetUserClaims, вы не будете использовать рольтаблицы) в моей базе данных, которая хранит эти претензии?Или в моем слое обслуживания?
Например, создается новый пользователь, и в моем интерфейсе я хочу дать пользователю возможность выбрать этого человека и "администратора" или "пользователя".Должен ли я иметь что-то вроде этого
public Claim {
public string ClaimType { get; set; }
public string ClaimValue { get; set; }
}
//somewhere in a service file.
List<Claim> allClaims = new List<Claim>(){
new Claim() {
ClaimType: "Permission",
ClaimValue: "canRead",
},
new Claim() {
ClaimType: "Permission",
ClaimValue: "canWrite",
},
new Claim() {
ClaimType: "Permission",
ClaimValue: "canUpdate",
},
new Claim() {
ClaimType: "Permission",
ClaimValue: "canDelete",
}
}
var groupedClaims = Dictionary<string,List<Claim>>()
groupedClaims.add("admin", allClaims);
groupedClaims.add("user", [only some of the claims]);
// then when need to create new user grab right group claims and insert into AspNetUserClaims