Подтвердить что ты не робот

Запросить перенаправление на /Account/Login? ReturnUrl =% 2f с момента установки MVC 3 на сервер

У нас есть внутреннее приложение ASP.NET Webforms, работающее на сервере Windows 2008/IIS7, который работает нормально, пока мы не установили MVC3.

Теперь любые запросы перенаправляются на /Account/Login? ReturnUrl =% 2f.

Веб-сайт - это Webforms, а не MVC. Поскольку это только внутренний сайт, для аутентификации Windows включена корневая папка.

У нас есть несколько других сайтов на том же сервере, на которые эта проблема не была затронута, но это единственный сайт, где корневая папка установлена ​​на проверку подлинности Windows.

4b9b3361

Ответ 1

Я решил проблему, добавив следующие строки в раздел AppSettings моего файла web.config:

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>

Ответ 2

Я исправил это так

  1. Перейти в IIS
  2. Выберите свой проект
  3. Нажмите на "Аутентификация"
  4. Нажмите "Анонимная аутентификация"> "Редактировать"> выберите "Идентификатор пула приложений" вместо "Определенный пользователь".
  5. Готово.

Ответ 3

Обновленный ответ для MVC 4, сильно заимствованный из этой страницы, и Проблема ASP.NET MVC с настройкой раздела проверки подлинности форм (и ответа на обе страницы)

<appSettings>
   ...
   <add key="PreserveLoginUrl" value="true" />
</appSettings>

...

<authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="43200" /> <!--43,200 in minutes - 30 days-->
</authentication>

Ответ 4

Просто удалить

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

из вашего файла web.config

который сделал для меня

Ответ 5

Моим решением было добавить тег

[AllowAnonymous]

по моему запросу GET для страницы Register. Это изначально отсутствовало в коде, который я поддерживал!

Ответ 6

Решить это добавление в опции defaultURL путь к моему приложению

<forms loginUrl="/Users/Login" protection="All" timeout="2880" name="001WVCookie" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="/Home/Index" cookieless="UseCookies" enableCrossAppRedirects="false" />

Ответ 7

Он решил автоматически перенаправить запрос IIS на страницу по умолчанию (default.aspx или страница входа в систему)

Добавив следующие строки в раздел AppSettings моего файла web.config:

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>

Ответ 8

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

Мы пробовали различные исправления, перечисленные без успеха, и придумали работу по отображению нового странного URL-адреса обратно к тому, который мы использовали в течение многих лет:

<urlMappings enabled="true">
<add mappedUrl="~/loginout.aspx" url="~/Account/Login"/>
</urlMappings>

Это сработало, но это уродливо. В конце концов мы проследили его до записи web.config, добавленной Visual Studio раньше:

<add key="webpages:Enabled" value="true" />

Поскольку мы не смогли точно определить, что это делает, мы это вынесли, что сразу решило проблему.

Ответ 9

Откройте web.config, затем измените

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>

Для

<authentication mode="Forms">
  <forms loginUrl="~/Login.aspx" timeout="2880" />
</authentication>

изменить на ~/Default.aspx

Ответ 10

Будьте в этом:

RegisterGlobalFilters(GlobalFilterCollection filters) {
  filters.Add(new System.Web.Mvc.AuthorizeAttribute());
}

Ответ 11

Через 4 часа все попытки... Windows 2008 R2 файлы были зелеными в Window Explorer. Файлы были помечены для шифрования и архивирования, которые были получены из zip файла. сняв флажки с этими параметрами в файле, исправил проблему для меня.

Ответ 12

Если ничего не работает, добавьте в свой файл Web.Config режим аутентификации = "Windows" в свой атрибут system.web. надеюсь, что это сработает для вас.

Ответ 13

Дрезус - ты решил это для меня. Большое спасибо.

В вашем AccountController логин должен выглядеть следующим образом:

    [AllowAnonymous]
    public ActionResult Login(string returnUrl)
    {
        ViewBag.ReturnUrl = returnUrl;
        return View();
    }

Ответ 14

Аналогичная настройка, идентичная проблема. Некоторые установки будут работать, но большинство из них начнут перенаправлять (http 302) в /Account/Login? ReturnUrl =% 2f после успешного входа в систему, даже если мы не используем проверку подлинности с помощью форм. В моем случае после попытки всего остального, решение состояло в том, чтобы переключить режим управляемого конвейера пула приложений с Интегрированного на Классический, что немедленно решило проблему.