В нашем клиент-серверном приложении пользователь может войти в систему, используя имя пользователя / пароль. Затем сервер аутентифицирует пользователя из своей локальной пользовательской базы данных или из активного каталога, если пользователь не найден в локальной базе данных.
Для этого сценария все безопасно. Но мы хотим реализовать на клиенте режим «Интегрированная безопасность», чтобы использовать учетные данные текущего пользователя Windows.
Решением может быть захват WindowsIdentity.GetCurrent (), отправка его на сервер и проверка того, что пользователь существует в активном каталоге с SID пользователя из WindowsIdentity.
Однако это небезопасно, поскольку SID пользователя не являются частными, поэтому взломанный клиент может отправить эту информацию на сервер, не зная пароля пользователя.
Каким образом в .Net можно использовать режим интегрированной безопасности в приложении клиент / сервер?