Форма отправки возвращается на экран входа - PullRequest
0 голосов
/ 27 апреля 2011

У меня есть веб-приложение ASP.NET MVC 1 с использованием поставщика членства ASP.NET. На моем локальном ящике, когда я отправляю данные в форму, редирект переносит их в нужное место (с Controller.RedirectToRoute). На сервере, где он должен жить, отправка формы возвращает меня на страницу входа. Данные отправляются правильно, но я просто перенаправлен неправильно.

Я помню, что имел дело с этим несколько лет назад (в приложениях, отличных от MVC), и это было из-за проблемы с Web.Config относительно провайдера Membership.

Не могу себе представить, что я единственный, у кого была эта проблема. Что я должен искать в моем файле web.config, который может быть связан с этим?

Спасибо заранее.


EDIT

Вот моя часть аутентификации и членства в web.config:

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<membership>
  <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="IPS" />
  </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="IPS" />
  </providers>
</profile>
<roleManager enabled="true">
  <providers>
    <clear />
    <add connectionStringName="ApplicationServices" applicationName="IPS" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    <add applicationName="IPS" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </providers>
</roleManager>

Ответы [ 2 ]

0 голосов
/ 27 апреля 2011

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

0 голосов
/ 27 апреля 2011

Если вы используете MySQL как хранилище пользовательских данных, такая проблема может возникнуть из-за разной версии MySQL Connector на нашем локальном ПК и сервере

...