2016-06-16 29 views
1

私は認証が必要なWebサービスを持っています。Webリクエストを使用した認証でWebサービスを呼び出す方法

public class WebService : System.Web.Services.WebService 
{ 
    public AuthHeader Authentication; 

    [WebMethod] 
    [SoapHeader("Authentication", Required = true)] 
    public void Hello(string name) 
    { 
     string result = ""; 
     if (Authentication.Username == "test" && Authentication.Password == "test") 
     { 
      result = "hello " + name; 
     } 

     Context.Response.Write(new JavaScriptSerializer().Serialize(result)); 
    } 
} 

public class AuthHeader : SoapHeader 
{ 
    public string Username; 
    public string Password; 
} 

私はこの

 WebRequest request = WebRequest.Create(url); 
     WebResponse ws = request.GetResponse(); 

     string result = string.Empty; 
     using (System.IO.StreamReader sreader = new System.IO.StreamReader(ws.GetResponseStream())) 
     { 
      result = sreader.ReadToEnd(); 
     } 

などのWebサービスを呼び出すために使用されるが、私は、認証とどのように行うのか分かりません。認証のためのウェブリクエストのヘッダーを設定するには?

答えて

0

このmsdnリソースによれば、https://msdn.microsoft.com/en-us/library/system.net.webrequest(v=vs.110).aspxWebRequestにはCredentialsというプロパティがあります。

子孫クラスでオーバーライド、インターネット リソースで要求を認証するために使用されるネットワーク 資格情報を取得または設定します。

これを使用して動作するかどうかを確認してください。