ASP.NET Windows Authentication возвращает неверного пользователя в приложение - PullRequest
0 голосов
/ 07 мая 2018

У меня есть два домена A и B, с пользователем Administrator в каждом. Оба администратора имеют разные objectGuids, SID и пароли. IIS 8.5 в B настроен с аутентификацией Windows (методы согласования / NTLM, расширенная безопасность отключена, включена аутентификация в режиме ядра). Домен B доверяет домену A (одностороннее доверие).

Когда я теперь открываю IE как A\administrator и подключаюсь к IIS в B, IIS возвращает мне, что вошедший в систему пользователь имеет значение B\administrator (должно быть A\administrator).

Это мой код:

public class UserController : ApiController
{
    // GET api/<controller>
    public User Get()
    {
        var usr = ((WindowsIdentity)User.Identity).User;
        return new User() {
            Name = User.Identity.Name,
            SID = usr==null?"":usr.ToString()
        };
    }
}

Кроме того, то же самое в журнале IIS:

2018-05-07 09:19:10 172.17.41.31 GET /winauthtest/User - 80 B\Administrator 172.17.42.11 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+10.0;+WOW64;+Trident/7.0;+.NET4.0C;+.NET4.0E) - 404 0 2 31
  • Это предполагаемое поведение или ошибка, и если это ошибка, куда сообщить об ошибке?
  • Можно ли это исправить, изменив настройки аутентификации Windows, или что еще я могу с этим поделать?
  • Знаете ли вы какую-либо другую возможность получить истинный SID пользователя, который обращается к моему IIS?

1 Ответ

0 голосов
/ 07 июня 2018

О боже, у меня была такая же проблема, и ваша проблема подсказала мне, почему это происходит. Таким образом, запуск моего проекта в Chrome дает мне неправильный домен, в то время как открытие в Edge дает мне правильный домен. Мой проект настроен с использованием аутентификации Windows, и кажется, что Chrome каким-то образом блокирует аутентификацию Windows. Эта ссылка дает больше информации. https://specopssoft.com/blog/configuring-chrome-and-firefox-for-windows-integrated-authentication/

В конце концов, у другого моего коллеги возникла та же проблема, и мы не смогли исправить ее должным образом. Это будет неправильно вести себя случайно. Единственное решение, которое, казалось, работало, это перезагрузка ПК.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...