Поставщик ролей по умолчанию не найден в IIS 7 под управлением.NET 4
Всем доброе утро,
Я пытаюсь внедрить свои собственные поставщики членства и ролей в мое веб-приложение, которое я реализовал на веб-сайте по умолчанию в моем экземпляре IIS 7. Мое веб-приложение работает в пуле приложений.NET 4.
Однако после настройки соответствующего web.config я получаю следующую ошибку:
Parser Error Message: Default Role Provider could not be found.
Я включил следующий блок кода в раздел system.web соответствующего веб-приложения web.config:
<membership defaultProvider="CustomMembershipProvider" userIsOnlineTimeWindow="20">
<providers>
<clear/>
<add name="CustomMembershipProvider" type="CustomProviders.CustomMembershipProvider,
CustomProviders, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=3563615169617648" applicationName="/"/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="CustomRoleProvider">
<providers>
<clear/>
<add name="CustomRoleProvider" type="CustomProviders.CustomRoleProvider,
CustomProviders, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=3563615169617648" applicationName="/"/>
</providers>
</roleManager>
Теперь я видел всевозможные объяснения того, как решить ошибку, о которой я упоминал ранее. Большинство из них, похоже, предлагают добавить теги в блоки моего провайдера. Некоторые, кажется, предлагают мне удалить менеджер ролей из machine.config. И некоторые все еще, кажется, предлагают не удалять или добавлять что-либо. Последний подход, похоже, не учитывает, что мое веб-приложение запускается из IIS, а не с локального компьютера.
В конце концов, я попробовал эти подходы безрезультатно. Может кто-нибудь объяснить мне, как я могу пройти эту ошибку? Заранее спасибо!
3 ответа
Я получил эту ошибку при использовании веб-приложения MVC 4 по умолчанию. Мне пришлось добавить следующее в web.config и ошибка исчезла. Под <system.webServer>
добавлять
<modules>
<remove name="RoleManager"/>
</modules>
Две вещи:
enabled="false"
должно быть enabled="true"
И я не убежден applicationName="/"
полезно, но может и не навредить.
Я получил это сообщение об ошибке при добавлении приложения в IIS 8 на существующий веб-сайт (щелкните правой кнопкой мыши веб-сайт в IIS, выберите "Добавить приложение"). В приложении web.config был только тег по умолчанию, который удалял провайдера по умолчанию, определенного в web.config веб-сайта.
Я полностью удалил теги RoleManager из приложения web.config, а затем веб-сайт и приложение начали работать правильно.