###躓いている点
C#(ASP.NET) + IIS8.5でのWebサーバ環境において、
クライアント端末のWindowsにログオンしているユーザIDを取得したいです。
Windows認証をONにすることで、「Request.LogonUserIdentity.Name」で取得が可能ですが、
Webサーバのドメインとクライアント端末のドメインが異なっており、
且つ2つのドメインで信頼関係が結ばれていないため、
Windows認証をオンにしたページへのアクセス時に
ユーザID/PWを入力するダイアログが表示されてしまいます。
参考:https://social.technet.microsoft.com/Forums/ja-JP/e6c2cf2c-6f88-4abe-bcaa-8e71f862baea/iis-windows?forum=activedirectoryja
上記ダイアログにID/PWを入力しても、信頼関係の結ばれていないドメインのため、
再びダイアログが表示されてしまいます。
Webサーバと同じドメインに属するユーザID/PWを入れた場合、
処理が進みますが、「Request.LogonUserIdentity.Name」で取得できる値は
ダイアログで入力したものとなります。(当然ですが)
###試したこと
Request.ServerVariables["REMOTE_USER"] -> 空
Request.ServerVariables["REMOTE_HOST"] -> クライアント端末のIP(IPが取れても意味がありません)
Request.ServerVariables["REMOTE_ADDR"] -> クライアント端末のIP(IPが取れても意味がありません)
Request.ServerVariables["LOGON_USER"] -> 空
new ActiveXObject("WScript.Network").UserName; -> 正常に取得可能
ActiveXを使うことで取得が可能なのですが、上記を実行するためには
IEの設定で
「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行」
を有効にする必要があります。
イントラネット環境で動くWebサーバではありますが、上記を有効にすることは厳しい状態です。
###お伺いしたいこと
信頼されていないドメイン間において、クライアント端末のWindowsにログインしているユーザIDを
取得する方法は他にございますでしょうか。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/25 07:29
2016/11/25 14:21