Как разрешить нескольким ролям видеть страницу при использовании настраиваемого RoleProvider в ASP.Net

Я создал свой собственный поставщик ролей, потому что обнаружил, что тот, который предоставляет ASP.Net, слишком громоздок с точки зрения таблиц в базе данных. Я обнаружил, что реализовать собственный RoleProvider довольно просто.

Моя единственная проблема в том, что сейчас у меня не может быть несколько ролей для страницы. Я где-то видел, что на вершине вашего класса вам нужно «аннотировать» с помощью некоторого кода безопасности. Это то, что у меня есть

[PrincipalPermission(SecurityAction.Demand, Role="Admin")]

Если я попытаюсь включить несколько ролей, используя список, разделенный запятыми, я получаю ошибки. Если я попытаюсь указать несколько ролевых ключей, я также получу ошибки. Нужно ли мне случайно указать несколько разрешений PrinicipalPermissions?

У меня очень мало опыта в управлении ролями ASP.Net. Может ли кто-нибудь указать мне правильное направление или какую-нибудь хорошую литературу.

Ответов (2)

Решение

вы можете добавить атрибут PrinicpalPermission несколько раз.

[PrincipalPermission(SecurityAction.Demand, Role="Admin")]
[PrincipalPermission(SecurityAction.Demand, Role="AnotherRole")]
[PrincipalPermission(SecurityAction.Demand, Role="Admin,Another RoleName")]