Пользовательский RoleProvider не вызывается
В моём приложении есть пользовательские Role и MembershipProviders. Я зарегистрировал их в web.config, но когда я пытаюсь сделать if(User.IsInRole("Blah"))
ни одна из моих точек останова в RoleProvider's Initialize
или же IsUserInRole
ударил. Поставщик членства работает нормально, так что я думаю, что-то я пропустил в web.config. Вот что у меня есть:
<system.web>
...
<membership defaultProvider="MyAppMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add name="MyAppMembershipProvider"
type="MyAppMembership.MyAppMembershipProvider"
connectionStringName="MyApp"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" writeExceptionsToEventLog="false" />
</providers>
</membership>
<roleManager defaultProvider="MyAppRoleProvider">
<providers>
<clear />
<add name="MyAppRoleProvider"
type="MyAppMembership.MyAppRoleProvider"
connectionStringName="MyApp"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" writeExceptionsToEventLog="false" />
</providers>
</roleManager>
</system.web>
Есть ли что-то еще, что мне нужно?
1 ответ
Решение
Атрибут enabled
из <roleManager>
-Элемент по умолчанию false
! Пытаться:
<roleManager enabled="true" defaultProvider="MyAppRoleProvider">
<providers>
<clear />
<add name="MyAppRoleProvider"
type="MyAppMembership.MyAppRoleProvider"
connectionStringName="MyApp"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" writeExceptionsToEventLog="false" />
</providers>
</roleManager>