3

Мое приложение имеет пользовательские функции Role and MembershipProviders. Я зарегистрировал их в файле web.config, но когда я пытаюсь сделать if(User.IsInRole("Blah")), ни один из моих контрольных точек вили RoleProvider не попал в цель. Поставщик членства работает отлично, поэтому, я думаю, должно быть что-то, что я пропустил из web.config. Это то, что у меня есть:Пользовательский RoleProvider не вызывается

<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> 

Есть ли что-то еще, что мне нужно?

ответ

8

Атрибут 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> 
+1

Это должно быть что-то простое. Благодарю. – Echilon

+0

@ Echilon: Да, иногда легче получить «твердый» материал. :-) – Mithrandir

 Смежные вопросы

  • Нет связанных вопросов^_^