Пользовательский 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>
Другие вопросы по тегам