Проверка подлинности Active Directory - PullRequest
1 голос
/ 16 декабря 2008

У меня есть класс c #, который использует пространство имен WindowsIdentity для возврата сведений о текущем пользователе Active Directory. Это доступно через веб-часть на SPS и, безусловно, возвращает желаемые значения записи, специфичные для этого пользователя.

У меня есть классическое приложение ASP, которое я бы хотел унаследовать. Обернув его как COM и зарегистрировав на сервере, я создал классическую страницу ASP, с которой можно вызывать и отображать детали в окне браузера.

Моя проблема заключается в том, что при доступе к этой странице от аутентифицированного пользователя на клиентском компьютере отображается только информация о пользователе на локальном компьютере.

Как мне, следовательно, изменить свой код, чтобы я мог отображать информацию о пользователе, получающем доступ к странице с клиентского компьютера?

Ответы [ 2 ]

1 голос
/ 16 декабря 2008

Также проверьте, какие методы проверки подлинности сайта работают, как в IIS.

Щелкните правой кнопкой мыши веб-сайт в IIS Manager, Свойства -> Безопасность каталога -> Аутентификация и контроль доступа -> Редактировать ...

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

1 голос
/ 16 декабря 2008

Классический ASP возвращает нас. :-) Не думаю, что я касался этого с 2002 года ...

Что-то не так с простым просмотром Request.ServerVariables ("logon_user") на странице ASP? Это должно дать вам домен \ имя пользователя.

Вместо того, чтобы пытаться запустить COM-упакованный класс под именем конечного пользователя (что является вашей проблемой), вы можете просто передать домен \ имя пользователя в класс, чтобы получить сведения об учетной записи из AD, а затем отобразить все необходимые элементы оттуда. Это избавит от необходимости олицетворения для получения идентификатора windows текущего пользователя.

...