Переключена аутентификация приложения Asp.Net MVC из окон в формы, но все еще разрешена Windows

В соответствии с темой я пытаюсь изменить существующее веб-приложение asp.net mvc для использования проверки подлинности с помощью форм вместо окон. Пока что я сделал следующее:

  • Модифицированный режим аутентификации в web.config
  • Добавлен тег авторизации для всех контроллеров (кроме учетной записи)
  • Создан новый контроллер для представления входа, представления, модели и т. Д.

web.config:

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

Сообщение входа:

[HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public ActionResult Login(Login model, string ReturnUrl = "")
    {
        // code to check user omitted
        if(user != null)
        {
            FormsAuthentication.SetAuthCookie(model.Username, false);
            if (Url.IsLocalUrl(ReturnUrl))
            {
                return Redirect(ReturnUrl);
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }
        ModelState.AddModelError("", "Username and/or Password is incorrect.");
        ModelState.Remove("Password");
        return View();
    }

При отладке экран входа в систему создается по умолчанию, а не Home / Index. Если я протестирую разные имена пользователей / пароли, все работает правильно, поэтому здесь нет проблем с контроллером / методами.

Однако в Home / Index я поставил для тестирования следующее:

@if(Request.IsAuthenticated)
    {
        <p>Logged in @ViewBag.ClientName</p>
    }
    else
    {
        <p>Logged off</p>
    }

ViewBag.ClientName просто устанавливается из User.Identity.Name. Когда я обычно вхожу в систему, ClientName показывает имя моего компьютера / локального пользователя, а не пользователя форм, с которым я вошел в систему. Я также могу перейти непосредственно к Index / Home и игнорировать логин, чтобы получить тот же результат.

Очевидно, что проверка подлинности Windows все еще применяется здесь, и я попытался закрыть IIS Express, изменить URL-адрес, который он отлаживает, и т. Д. В случае, если какая-то форма настройки IIS или что-то подобное все еще устанавливается на моем локальном компьютере, но я не могу остановить это.

Любые идеи?


person user1166905    schedule 19.02.2018    source источник


Ответы (1)


Я нашел ответ, но на всякий случай, это поможет кому-то еще, ответ был очень простым.

Щелкните проект в окне обозревателя решений. Нажмите F4, чтобы увидеть настройки, если окно еще не открылось и там есть опция проверки подлинности Windows, которую мне пришлось отключить.

person user1166905    schedule 19.02.2018