Я использую ASP.NET identity
и хочу правильно организовать user roles
и groups
. Как известно, мне нужно использовать следующие таблицы, и я планирую определить эти определения группы ролей:
ApplicationGroup : администратор, менеджер, персонал, пользователь
ApplicationGroupRoles (роли для создания записи) :
Администратор: CanCreateX, CanCreateY, CanCreateZ, CanCreateT
Менеджер: CanCreateY, CanCreateZ, CanCreateT
Персонал: CanCreateZ, CanCreateT
Пользователь: CanCreateT
ApplicationUserGroups :
Пользователь A: Admin
Пользователь B: Менеджер
Пользователь C: Персонал
Пользователь D: Пользователь
И в Controllers
я определяю роли для для метода:
[Authorize(Roles = "CanCreateT")]
public ActionResult CreateT()
{
//todo
}
1) Насколько я понял, мы определяем роли и используем его в связанных Controller
методах. Мы также группируем эти роли в таблице ApplicationGroupRoles
и можем присвоить один и тот же Role
нескольким Group
. Например, CanCreateT
роль отводится 4 различным группам ролей. Является ли этот подход верным?
2) Что касается таблицы ApplicationUserGroups
, мы назначаем каждого пользователя в группу ролей. Однако на данный момент представляется возможным назначить пользователя различным группам ролей. Является ли этот подход выше верным, или мы должны дать роль одной группе и назначить пользователя нескольким группам (в этом случае User A
назначается 4 группы пользователей)?
Какой подход лучше или лучше?