0

基本的にWebサービスであるアプリケーションがあります。これは、Web構成の偽装タグに特定のユーザー資格情報を使用してSQLデータベースに接続します。

私が知りたいのは、この Web サービスを呼び出しているユーザー名を取得できるかどうかです。

私のウェブ設定は次のようになります:

<identity impersonate="true" userName="db_user" password="db_pass" />

次の資格情報を使用して http 要求を作成しています。

request.Credentials = new NetworkCredential("request_user", "request_pass");

そして、Webサービスのwebmethod内で、次のコード行を使用してリクエストユーザーを取得しようとしていますが、それらはすべて、偽装ユーザーである同じユーザーを返します-(

System.Security.Principal.WindowsIdentity.GetCurrent().Name //returns db_user
System.Environment.UserName //returns db_user
HttpContext.Current.User.Identity.Name //returns db_user

私は明確ですか?誰かが私を助けてくれることを願っています、ありがとう!

4

2 に答える 2

0

私が行ったことは、IISに新しいアプリケーションプールを作成し、データベースへのアクセスに必要なユーザーとして実行させてから、Webサービスになりすますことです。

于 2012-05-03T22:16:28.977 に答える
0

ユーザー名を Web サービスに渡します。

于 2012-04-23T17:44:16.577 に答える