我有Javascript和经典ASP。使用这两个如何检查用户是否是特定活动目录组的成员?我知道VBSCRIPT有成员函数,但我只能使用javascript。任何帮助表示赞赏
答案 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中进行安全性更改。