2012-02-16 26 views
1

イントラネット環境でCALLERのユーザーIDを取得できる(のみ)ことができるC#3.0 Webサービスを作成する必要があります。私はおそらく、呼び出し元プログラムから情報を渡すことができたが、私の場合は実現不可能であることを理解している。 WebサービスはWindowsアプリケーション(正確にはInfopath 2003)によって消費され、私のWindowsアプリケーションからユーザーIDを取得するのは現実的ではありません。C#Webサービスから現在のユーザーIDを取得する

これは達成可能ですか? IIS(Windows 2003標準サーバーでホストされる)はWindows認証を使用します。私はWindowsIdentityを使用していくつかのことを試みましたが、それはlocalhostでのみ機能します。

+1

「C#Webサービス」のようなものはありません。 ASMXサービス、またはWCFサービスを意味しますか? –

答えて

0

これを試しましたか? HttpContext.Current.User.Identity.Name

+0

ありがとう、私はそれを試し、結果をここに報告します。 – WML

+0

こんにちは私はそれを使用しましたが、(in)有名なエラーメッセージを返します:HTTP要求は、クライアント認証スキーム 'Anonymous'で不正です。サーバーから受け取った認証ヘッダーは 'NTLM'でした... – WML

+0

私はThread.CurrentPrincipalも試しましたが、空白を返します...ここでは何か根本的な欠点があります...私はASMX Webサービスを書いています。 WCF – WML

関連する問題