Есть ли предпочтительный способ мелкозернистого доступа, который можно изменить во время выполнения?
Членство в ASP.net, похоже, не поддерживает это. Я подумал о создании постоянных невидимых подролей, чтобы был набор скрытых ролей типа "_CanEditContent" и "_CanDeleteOthersContent". Проверка будет [Authorize(Roles = SubRoles.CanEditUser)]
, которая проверит, что пользователь находится в роли, имеющей роль _CanEditUser. Проблема заключается в том, как назначать роли другим ролям, чтобы при создании новой роли, такой как «UserAdmin», как мы могли бы назначить роль «_CanEditUser» этой новой роли? Это кажется невозможным.
Что мне нужно сделать, так это иметь возможность создавать роли во время выполнения и добавлять настраиваемые разрешения для новых или существующих ролей. Я бы выполнял проверки с помощью чего-то вроде [Authorize]
и настраиваемых проверок для методов AJAX. Как бы я этого добился?