Аутентификация с помощью форм работает на сервере разработки, но не на рабочем сервере (тот же SQL db) - PullRequest
2 голосов
/ 07 февраля 2010

У меня никогда не было этой проблемы раньше, я в полном проигрыше.

У меня есть база данных SQL Server 2008 с аутентификацией ASP.NET Forms, созданными профилями и ролями, которая работает на рабочей станции разработки. Я могу войти в систему, используя созданных пользователей без проблем.

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

Я удостоверился, что сгенерировал машинный ключ, и он одинаков как для разработки web.config, так и для производства web.config.

И все же, когда я пытаюсь войти в систему на рабочем сервере, тот же пользователь, с которым я могу успешно войти в систему на компьютере разработчика, не работает на рабочем сервере.

В базе данных есть другое содержимое, схема, сгенерированная FluentNHibernate. Этот контент можно успешно запрашивать как на серверах разработки, так и на производственных серверах.

Это ошеломляет, я считаю, что я все проверил, но, очевидно, это все еще не работает, и я, должно быть, что-то пропустил. Пожалуйста, есть идеи?

1 Ответ

6 голосов
/ 07 февраля 2010

В какой-то момент я столкнулся с проблемой с похожими симптомами, забыв установить атрибут applicationName в web.config в элементе поставщиков членства.

  <membership defaultProvider="SqlProvider">
    <providers>
      <clear />
      <add
        name="SqlProvider"
        applicationName="MyApplication"
        ...
        />
    </providers>
  </membership>

Пользователи связаны с определенным приложением. Поскольку я не устанавливал applicationName, по умолчанию он указывал путь к приложению (что-то вроде «/ MyApplication»). Когда он был перемещен в рабочую среду, путь изменился (например, на «/ WebSiteFolder / SomeSubFolder / MyApplication»), поэтому имя приложения по умолчанию установилось на новый рабочий путь, и не удалось установить связь с исходными учетными записями пользователей, которые были настроены. в разработке.

Могут ли ваши проблемы быть такими же, как у меня?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...