如何使用Javascript检查活动目录以查看用户是否在特定组的成员中?

时间:2011-01-17 19:05:31

标签: javascript asp-classic active-directory

我有Javascript和经典ASP。使用这两个如何检查用户是否是特定活动目录组的成员?我知道VBSCRIPT有成员函数,但我只能使用javascript。任何帮助表示赞赏

4 个答案:

答案 0 :(得分:1)

您需要确保将Web服务器设置为使用Windows身份验证。然后,您可以使用Request.ServerVariables(“LOGON_USER”)来获取当前用户的域\用户名。

然后,您将使用ADSI查询Active Directory以获取组成员资格。

这是msdn的ADSI页面的链接。 http://msdn.microsoft.com/en-us/library/aa772170%28v=vs.85%29.aspx

This page 有一些示例脚本(在vbscript中)

答案 1 :(得分:0)

据我所知,使用Javascript无法访问activeDirectory。 Javascript在浏览器中运行 - 并且可能无法访问此沙箱中的任何内容。

如果我误解了你的问题而你服务器端检查 - 使用ASP函数来检查。

答案 2 :(得分:0)

使用ADODB.Connection和“ADsDSOObject”提供程序,您需要使用AJAX和AD连接。

编辑:我在上面看到了您的评论。这是一个开始:

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

Set ldapRecordSet = ldapCommand.Execute 

ldapCommand是一个ADODB.Command,如果Execute抛出错误,那么该用户不在域中。

答案 3 :(得分:0)

您也可以尝试使用Javascript来实例化WScript.Network对象

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

从那里,你可以得到

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

警告:我很确定这只是IE,需要在IE中进行安全性更改。