AspNet Core 2.2 Windows Authentication - браузер продолжает запрашивать имя пользователя и пароль - PullRequest
1 голос
/ 13 марта 2019

Проверка подлинности окна включена, анонимный отключен. Когда пользователь заходит на сайт, я проверяю, не является ли он пользователем сайта. Если они не, я хочу обращаться с ними как несанкционированные. Однако Chrome продолжает запрашивать у них имя пользователя и пароль, а не отправлять их на страницу с ошибкой. У пользователя никогда не должно запрашиваться имя пользователя / пароль, потому что автоматическая проверка подлинности Windows включена, а анонимный отключен.

Контроллер:

public async Task<IActionResult> Login()
        {

            if (await IsValidUser())
            { 
                return RedirectToAction("Index");
            }
            else
            {
                return new UnauthorizedResult();
            }
        }

Запуск

app.UseStatusCodePages(async context =>
            {
                var response = context.HttpContext.Response;

                await context.HttpContext.Response.WriteAsync(
                    "Status code page, status code: " +
                    context.HttpContext.Response.StatusCode);

                response.Redirect("~/Account/AccessDenied");

            });

Ответы [ 2 ]

0 голосов
/ 14 марта 2019

Первый вопрос заключается в том, проходит ли аутентификация пользователя с помощью AD в основном приложении .net. Если не аутентифицирован (неверные учетные данные), IMO приглашение - это поведение браузера. Когда проверка подлинности окна включена, анонимная отключена, эта проверка подлинности выполняется веб-сервером еще до того, как ваш код приложения будет получен, поэтому IIS выполняет проверку подлинности до того, как запрос передается в ASP.NET, поэтому запрос никогда не достигнет страницы с ошибкой.

Обходное решение, возможно, использует проверку подлинности с помощью форм с поставщиками AD. Ниже поток предоставляет примеры кода, но я не проверял, что:

.net Core Authentication

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

0 голосов
/ 13 марта 2019

Несмотря на то, что вы настраиваете Chrome, настройки безопасности в Интернете остаются в силе. Похоже, что нет проблем с вашим кодом в отношении вашего вопроса (кстати, был ли вопрос?) Пожалуйста, просмотрите эту ссылку и поймите, что она не говорит вам, каковы последствия этого изменения может быть. Это лучше подходит для SuperUser, а не переполнение стека.

...