Пользователь домена не извлекается в IIS после изменения Windows Server на Samba4 - PullRequest
0 голосов
/ 28 ноября 2018

Мое приложение использует проверку подлинности Windows на сервере Windows AD, но теперь сервер заменен на samba4.
Ниже код используется в приложении для получения домена и имени пользователя

string Domain_username =System.Environment.UserDomainName + "\\" + System.Environment.UserName

Используется для возвратаDomainName\username как и ожидалось.

После обновления до samba4 приведенный выше код извлекает различные результаты

output: IIS APPPOOL\AppPoolName.

, если я попытаюсь

HttpContext.Current.Request.LogonUserIdentity.Name

это сработало, но я не хочу вносить какие-либо изменения в код, потому что оно применяется во многих местах.какие изменения нужно сделать в IIS или в системе для получения пользователя домена

Буду признателен за любую помощь

1 Ответ

0 голосов
/ 28 ноября 2018

Environment.UserDomainName и Environment.UserName указывают учетные данные, с которыми работает процесс приложения , а не учетные данные текущего пользователя, поэтому вы видите то, что видите.Единственный способ, которым это когда-либо может дать учетные данные пользователя, - это если ваше приложение использует олицетворение, поэтому, возможно, именно это олицетворение прервалось.

Приходилось ли вам менять свою аутентификацию при переходе на samba4?

Строго говоря, вы должны использовать HttpContext.Current.Request.LogonUserIdentity или HttpContext.Current.User.Identity (оба должны быть одинаковыми) для получения учетных данных текущего пользователя.

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