Что я сделал: создайте класс, который наследуется от System.Web.Security.RoleProvider
, и выберите «Реализовать абстрактный класс» в контекстном меню при нажатии на : Roleprovider
. Я реализовал только метод GetRolesForUser
(другие методы throw NotImplementedException
).
В определенный момент я подумал, что мне также необходимо реализовать MembershipProvider, но это было исправлено простым дополнением к web.config (поскольку сборка отсутствует в GAC, в атрибуте type вам нужно упомянуть только пространство имен + имя типа; не имя сборки и другие параметры):
<configuration>
<system.web>
<roleManager enabled="true" defaultProvider="MyRoleProvider">
<providers>
<clear />
<add name="MyRoleProvider" type="Namespace.To.MyRoleProvider" />
</providers>
</roleManager>
</system.web>
</configuration>
Нет необходимости реализовывать метод ValideUser
в MembershipProvider
.