0

私は c# で SOAP Web サービスに取り組んでいます。次のようになります。

public class MyService : System.Web.Services.WebService
{

public MyService()
{
}

[WebMethod]
public string Hello()
{

    return "hello";
}
}

別の Web サイトからこの Web サービスへのサービス参照を追加したので、Hello()そこからコードを使用してメソッドにアクセスできます。

MyServiceSoapClient client = new MyServiceSoapClient();
client.Hello();

ここで、資格情報をその Web サービスに渡す必要があります。私が試してみました:

MyServiceSoapClient client = new MyServiceSoapClient();
    client.ClientCredentials.UserName.UserName = "test";
    client.ClientCredentials.UserName.Password = "pwd";
    client.Hello();

しかし、これらの資格情報を Web サービス (Hello()メソッド内) で取得できませんでした。

これらの値を Web サービスで取得するにはどうすればよいですか?

4

1 に答える 1

1

WebService.Userプロパティを介してユーザーを取得します。これによりユーザー名が得られますが、渡されたパスワードを取得する方法はありません。これは、WebService が実行される前に IIS レベルで認証が行われるための仕様です。

public class MyService : System.Web.Services.WebService
{
    public MyService()
    {
    }

    [WebMethod]
    public string Hello()
    {
        return "hello, my name is " + User.Identity.Name;
    }
}
于 2013-07-30T13:41:12.843 に答える