ASP.NET Membership Provider, неправильно настроен - не может открыть инструмент администрирования веб-сайта - PullRequest
6 голосов
/ 25 августа 2011

Я установил таблицы членства ASP.NET в удаленную базу данных, используя aspnet_regsql.exe.Кажется, он успешно создал все таблицы в базе данных, которые я видел в прошлом при работе с этой технологией.aspnet_regsql также говорит, что процесс завершен успешно.

Я могу нормально подключиться к базе данных с помощью студии управления сервером sql и выполнить запросы.У меня есть настроенный файл web.config, содержащий соответствующие настройки, как показано ниже.


<connectionStrings>
    <add name="ApplicationServices" connectionString="Data Source=**********;Initial Catalog=********;Integrated Security=false;User ID=*************;Password=******" providerName="System.Data.SqlClient" />
  </connectionStrings>

<membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="/" />
      </providers>
    </membership>

    <profile>
      <providers>
        <clear/>
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
      </providers>
    </profile>

    <roleManager enabled="false">
      <providers>
        <clear/>
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
      </providers>
    </roleManager>

Я знаю, что соединение с базой данных работает.Строка подключения верна.Тем не менее, когда я захожу в инструмент администрирования веб-сайта, чтобы начать настройку безопасности, я получаю сообщение об ошибке:

Возникла проблема с выбранным хранилищем данных.Это может быть вызвано неверным именем или учетными данными сервера или недостаточным разрешением.Это также может быть вызвано тем, что функция диспетчера ролей не включена.Нажмите кнопку ниже, чтобы перейти на страницу, где вы можете выбрать новое хранилище данных.

Следующее сообщение может помочь в диагностике проблемы: Не удалось загрузить тип 'PVN.Web.MvcApplication'.


Так что да, это приложение MVC3, которое я пытаюсьстроить.И имя проекта веб-приложения называется PNV.Web, но я понятия не имею, что такое «PVN.Web.MvcApplication».

Любая помощь по этому вопросу будет принята с благодарностью.

Спасибо

Ответы [ 4 ]

3 голосов
/ 28 августа 2011

Похоже, моя проблема была в том, что мой менеджер ролей был установлен на false.

<roleManager enabled="false">

Как только я установил значение true, я смог без проблем использовать инструмент настройки веб-сайта, и все, казалось, начало работать.

<roleManager enabled="true">
1 голос
/ 25 августа 2011

Имя вашего приложения не задано:

applicationName="/" />

Установите имя приложения и убедитесь, что оно соответствует имени в таблице приложений в вашей базе данных.Удачи.

1 голос
/ 25 августа 2011

Скомпилировали ли вы приложение, прежде чем пытаться использовать инструмент администрирования сайта?Он не будет работать, пока сайт не будет скомпилирован.

0 голосов
/ 28 мая 2012

Мой поставщик членства по умолчанию работал, но я изменил имя приложения в таблице aspnet_Applications. Если вы это сделаете, вам также потребуется изменить имя приложения в файле web.config.

...