Blazor Windows Authentication / Kestrl - для удаленного доступа к сайту необходимо снова ввести логин Windows? - PullRequest
0 голосов
/ 05 марта 2020

Я создал приложение Blazor с аутентификацией Windows и хостинг с Kestrel / Negotiate, следуя инструкциям. (https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-3.0&tabs=visual-studio#kestrel)

Он все еще не работает с Windows Аутентификацией, пока не будет применен ответ на этот вопрос.

  1. Добавьте это в Configure метод:
    app.UseMiddleware<ValidateAuthentication>();

    internal class ValidateAuthentication : IMiddleware
    {
      public async Task InvokeAsync(HttpContext context, RequestDelegate next)
      {
        if (context.User.Identity.IsAuthenticated)
            await next(context);
        else
            await context.ChallengeAsync();
      }
    }
А в ConfigureServices:
 services.AddSingleton<ValidateAuthentication>();

Затем я опубликовал его как автономное приложение и запустил приложение MyApp.exe.

На той же машине, в браузере можете зайти на сайт без проблем. Он показывает мое Windows имя учетной записи в правом верхнем углу.

Однако, когда я захожу на сайт из браузера на другом Windows P C. При первом открытии сайта появится диалоговое окно для входа в аккаунт. Сайт работает после входа в аккаунт Windows. Это способ не запрашивать логин Windows?

dialogWindows

1 Ответ

0 голосов
/ 06 марта 2020

Насколько я знаю, Edge будет использовать настройку аутентификации пользователя IE для отправки текущего имени пользователя для входа в систему с windows авторизацией.

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

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

1.Откройте IE и найдите опции inte rnet.

enter image description here

2. Измените режим аутентификации пользователя на автоматизированный c вход в систему с использованием текущего имени пользователя и пароля

enter image description here

3.Закройте ie и ребро и попробуйте снова.

...