Проверка подлинности на основе форм не работает между .Net 2.0 и .Net 4.0 приложением

У меня есть несколько веб-приложений, работающих на Windows Server 2003 с IIS 6.0.

Приложения работают под Asp.net 2.0.

Недавно я установил веб-приложение MVC 3, которое по своей природе основано на asp.net 4. Билет с формами не рассматривается в этом новом приложении.

У меня те же настройки machineKey в файлах machine.config разных версий asp.net, которые были созданы по этой ссылке:http://aspnetresources.com/tools/machineKey

Конфигурация в веб-приложении входа в систему выглядит следующим образом:

  <authentication mode="Forms">
    <forms name=".WEBAUTH"
         loginUrl="login.aspx"
         protection="None"
         slidingExpiration="true"
         enableCrossAppRedirects="false"     
         timeout="43200"     
         path="/" />
  </authentication>

И соответственно конфигурация приложения mvc:

  <authentication mode="Forms">
    <forms name=".WEBAUTH"
         loginUrl="http://path2theloginapp/login.aspx"
         protection="None"
         slidingExpiration="true"
         enableCrossAppRedirects="false"     
         timeout="43200"     
         path="/" />
  </authentication>

  <authorization>
    <deny users="?" />
    <allow users="*" />
  </authorization>

Логин работает, но приложение mvc всегда перенаправляет обратно на страницу входа.

Теперь, если я изменяю asp.net-версию веб-приложения для входа в систему в конфигурации IIS на asp.net 4.0, это работает. Но тогда все остальные приложения, работающие на asp.net 2, больше не работают.

Кто-нибудь решал аутентификацию на основе форм в подобной ситуации?

Ответы на вопрос(2)

Ваш ответ на вопрос