2011-01-17 10 views
1

私はJavascriptとClassic ASPを自由に使用できます。これらの2つを使用すると、ユーザーが特定のアクティブなディレクトリグループのメンバーであるかどうかを確認できますか?私はVBSCRIPTにmemberof関数があることを知っていますが、私はjavascriptしか使用できません。どんな助けもありがとうJavascriptを使用してアクティブディレクトリをチェックして、ユーザーが特定のグループのメンバにいるかどうかを確認する方法はありますか?

+0

ブラウザで実行されているJavaScriptまたはASPに組み込まれているサーバー側のJScriptについて話していますか? – Quentin

+0

サーバー側のJscript。これまではADsDSOObjectプロバイダとのADODB接続があります。多分SQLコマンドや何かを使って検索しようとしていました。メンバーが一致する場合はtrueまたはfalseを返す関数です。 –

+0

以下の改訂版の回答を参照してください。 – anon

答えて

0

私が知る限り、Javascriptを使ってactiveDirectoryにアクセスすることはできません。 Javascriptはブラウザ内で実行され、このサンドボックスからは何もアクセスできません。

質問に間違いがあった場合は、サーバー側のチェックを行います。ASP機能を使用して確認してください。

+0

私は彼がaspでサーバー側のJavaScriptを参照していると思います。 –

+0

私は、ADOを使用して接続してSQL型のクエリを使用して確認することを考えていましたか?私はちょうどどのようにabou太って行くのか分からなかった –

1

WebサーバーがWindows認証を使用するように設定する必要があります。次に、Request.ServerVariables( "LOGON_USER")を使用して、現在のユーザーのdomain \ usernameを取得できます。

次に、ADSIを使用してActive Directoryにクエリを送信し、グループメンバシップを取得します。

ここにmsdnのADSIページへのリンクがあります。 http://msdn.microsoft.com/en-us/library/aa772170%28v=vs.85%29.aspx

This pageあなたはAJAXおよび "ADsDSOObject" プロバイダとADODB.Connectionのを使用してADへの接続が必要です(VBScriptで)いくつかのサンプルスクリプトに

0

を持っています。

EDIT:私は上記のあなたのコメントを見ました。ここでスタートです:

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

Set ldapRecordSet = ldapCommand.Execute 

ldapCommandはは、ADODB.Commandで、エラーがスロー実行した場合、ユーザは、ドメインではありません。私は、これはIEでかなり確信している:

0

また、あなたが

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

に警告の言葉を得ることができ、そこからWScript.Networkオブジェクト

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

をinstantialteためにJavaScriptを使用してみてくださいIEではセキュリティの変更が必要です。