Настройка SimpleMembership в MVC4

Я читаю, что в MVC4 для настройки простого членства я должен сделать этот шаг:

в AppSettings включить строку:

<add key="enableSimpleMembership" value="true" />

однако, когда я смотрю на образцы, созданные из шаблонов у них только:

  <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

Итак, почему я продолжаю читать, что необходимо установить ключ enableSimpleMembership?

1 ответов


по умолчанию SimpleMembershipProvider включается при создании нового ASP.NET приложение MVC 4. Но некоторые хостинг-провайдеры могут отключить его, переопределив этот параметр в сети более высокого уровня.конфиг.

цитата из статьи о SimpleMembership:

если вы видите ошибку, которая говорит вам, что свойство должно быть экземпляр ExtendedMembershipProvider, сайт не может быть настроено для использования ASP.NET система членства в веб-страницах (SimpleMembership). Это иногда может произойти, если хостинг-провайдер сервер настроен иначе, чем локальный сервер. Исправить это, добавьте следующий элемент в веб-сайт.конфигурационный файл:

<appSettings>

   <add key="enableSimpleMembership" value="true" />

</appSettings>

этот параметр используется WebMatrix.WebData.PreApplicationStartCode метод, который выполняется автоматически при запуске вашего сайта и будет использовать значение этого параметра для включения простого поставщика членства.

на самом деле настройка SimpleMembershipProvider явно то, что я бы рекомендовал вам:

<membership defaultProvider="SimpleMembershipProvider">
  <providers>
    <clear/>
    <add name="SimpleMembershipProvider" 
         type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
  </providers>
</membership> 
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
  <providers>
    <clear/>
    <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
  </providers>
</roleManager>

теперь больше нет места для путаницы. Как членство и провайдеров роли явно настроен.