У меня та же проблема, что и у ранее решенного вопроса, однако это решение мне не помогло.
Я разместил предыдущий вопрос и ответ ниже:
Аутентификация с помощью форм работает на сервере разработки, но не на производственном сервере (тот же БД SQL)
Вопрос:
У меня никогда не было этой проблемы раньше,
Я в полной растерянности.
У меня есть база данных SQL Server 2008 с
ASP.NET Forms Аутентификация, профили
и роли созданы и функционируют на
рабочая станция разработки. Я могу
войти, используя созданных пользователей без
проблема.
Я создаю резервную копию базы данных на
разработка компьютера и восстановление его на
производственный сервер. Я копирую
DLL и ASP.NET файлы на сервер.
Я делаю необходимые изменения в
web.config, изменение SQL
Строки подключения, чтобы указать на
база данных производственного сервера и загрузка
это.
Я убедился, что сгенерировал машину
ключ, и он одинаков на обоих
разработка web.config и
производство web.config.
И все же, когда я пытаюсь войти на
рабочий сервер, тот же пользователь, который
Я могу успешно войти на
компьютер разработки, не работает на
производственный сервер.
В
база данных, схема, сгенерированная
FluentNHibernate. Этот контент может
быть успешным на обоих
серверы разработки и производства.
Это ошеломляет, я верю, что я
все проверил, но очевидно это
все еще не работает, и я должен иметь
что-то пропустил. Пожалуйста, есть идеи?
Ответ:
Однажды я столкнулся с проблемой с похожими симптомами, забыв установить атрибут> applicationName в web.config в элементе поставщиков членства.
Пользователи связаны с определенным приложением. Поскольку я не устанавливал applicationName,> по умолчанию он указывал путь к приложению (что-то вроде «/ MyApplication»). Когда он был перенесен> в производство, путь изменился (например, на "/ WebSiteFolder / SomeSubFolder"
/ MyApplication "), поэтому имя приложения по умолчанию соответствует новому рабочему пути, и> невозможно установить связь с исходными учетными записями пользователей, которые были установлены в> разработке.
Могут ли ваши проблемы быть такими же, как у меня?
У меня уже есть это в моем файле web.config, но проблема все еще возникает. Есть идеи?
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/"/>
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear/>
<add connectionStringName="ApplicationServices" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
Любая помощь очень ценится.