2012-01-13 7 views
0

lanで実行されるasp.netプロジェクトを開発中です。
このlanのすべてのユーザには、それぞれ独自のシステムユーザ名があります。
このアプリケーションはInternet Explorerブラウザでのみ動作します。
すべてのクライアントをそのユーザー名で識別したいと考えています。
javascriptを使用してこれを行う方法はありますか?インターネットエクスプローラブラウザからjavascriptを使用してシステム(ウィンドウ)ユーザ名を取得するにはどうすればよいですか?

+0

あなたはASP.NETを使用していると言います。 Javascriptの代わりにサーバー側のコードに含まれていれば、ソリューションが使えますか?また、どのようなタイプの認証をウェブサイトに使用していますか? – JohnFx

+0

HttpContextを使用しない理由は何ですか? asp.netの場合はそれが簡単だろうか? – Andres

答えて

1

これはインターネットエクスプローラでは機能するはずですが、ブラウザのセキュリティ設定がロックされていると失敗する可能性があります。

var wshshell=new ActiveXObject("wscript.shell"); 
var username=wshshell.ExpandEnvironmentStrings("%username%"); 
alert('hello, ' + username); 

また、時間のそれisn't guaranteedから100パーセントでは、実際のADログイン名と一致します。

ASP.NETを使用している場合、フォームベースの認証を使用している場合は、Request.ServerVariables("AUTH_USER")または別の手法を使用して、サーバー側のスクリプトでこれをはるかに確実に実行できます。

+0

私は彼らのユーザ名を要求せずにユーザを識別したいと思う。私はWindows認証を使用し、Request.ServerVariables( "AUTH_USER")はiisで同じマシンからサイトを参照するときにのみ動作します。私はjavascriptコマンドを試してみました。つまり、セキュリティレベルを低く設定し、activex設定を 'enable'( 'prompt'から)に設定してもうまくいきます。 –

関連する問題