WebService 身份验证01_SoapHeader及 iis windows 集成身份验证

1 SoapHeader 验证

 

服务端:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

namespace WebApplication2
{
    /// <summary>
    /// WebService2 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
    // [System.Web.Script.Services.ScriptService]
    public class WebService2 : System.Web.Services.WebService
    {

        public UserValidationSoapHeader UserValidation;

        [WebMethod]
        [SoapHeader("UserValidation")]
        public string HelloWorld()
        {
            return $"userName:{UserValidation.UserName}passwd:{UserValidation.Passward}";
        }
    }


    public class UserValidationSoapHeader : SoapHeader
    {
        public UserValidationSoapHeader()
        {

        }
        public string UserName { get; set; }
        public string Passward { get; set; }

    }

} 

 

 

服务端配置文件开启远程访问:

 

  <!--本地 要在web.config下的 <system.web>下添加(开启远程访问。。)-->
<webServices>
         <protocols>
            <add name="HttpSoap"/>
            <add name="HttpPost"/>
            <add name="HttpGet"/>
            <add name="Documentation"/>
         </protocols>
</webServices>  

客户端:

  static void Main(string[] args)
        {

            WebService.WebService2 service2 = new  WebService.WebService2();
            service2.UserValidationSoapHeaderValue = new WebService.UserValidationSoapHeader() { UserName = "hnzheng", Passward = "123" };
            service2.UserValidationSoapHeaderValue.Actor = "http://www.baidu.com";
            service2.HelloWorld();
            Console.ReadLine();
        }

  

 

2  集成身份验证

 

 

2、客户端引用代码

localhost.WebService service = new localhost.WebService();
service.Credentials = new NetworkCredential("xxx","123"); //xxx是用户名,123是密码
string result = service.HelloWorld("测试");

posted @ 2020-04-18 23:21  谁说程序猿很猥琐  阅读(408)  评论(0编辑  收藏  举报