Как использовать Javascript, чтобы проверить активный каталог, чтобы увидеть, входит ли пользователь в определенную группу? - PullRequest
1 голос
/ 17 января 2011

В моем распоряжении Javascript и Classic ASP.Используя эти два, как я могу проверить, является ли пользователь членом определенной группы активных каталогов?Я знаю, что VBSCRIPT имеет функцию memberof, но я могу использовать только javascript.Любая помощь приветствуется

Ответы [ 4 ]

1 голос
/ 17 января 2011

Вам необходимо убедиться, что ваш веб-сервер настроен на использование аутентификации Windows.Затем вы можете использовать Request.ServerVariables ("LOGON_USER"), чтобы получить домен текущего пользователя \ имя пользователя.

Затем вы запросите Active Directory, используя ADSI, чтобы получить членство в группе.

Вот ссылкана страницы ADSI msdn.http://msdn.microsoft.com/en-us/library/aa772170%28v=vs.85%29.aspx

На этой странице есть несколько примеров сценариев (в vbscript)

0 голосов
/ 17 января 2011

Вы также можете попробовать использовать Javascript для создания экземпляра объекта WScript.Network

var WshNetwork = new ActiveXObject("WScript.Network");

Оттуда вы можете получить

var netWorkUserName = WshNetwork.UserName;
var netWorkDomain = WshNetwork.UserDomain;

Слово предупреждения: я уверенэто только IE и требует изменений безопасности в IE.

0 голосов
/ 17 января 2011

Вам понадобится AJAX и подключение к AD с использованием ADODB.Connection с провайдером "ADsDSOObject".

EDIT : я видел ваш комментарий выше.Вот начало:

ldapCommand.CommandText = "select sn from '" & _
    "LDAP://example.com/DC=example,DC=com" & _
    "' WHERE samAccountName=" & "'" & username & "'"

Set ldapRecordSet = ldapCommand.Execute 

ldapCommand является ADODB.Command, и если Execute выдает ошибку, то пользователь не находится в домене.

0 голосов
/ 17 января 2011

Насколько я знаю, нет возможности доступа к activeDirectory с помощью Javascript.Javascript запускается в браузере - и может не иметь доступа ни к чему из этой песочницы.

В случае, если я неправильно понял ваш вопрос и вы проверяете на стороне сервера - используйте для проверки функции ASP.

...