你的位置:首页 > 软件开发 > ASP.net > 关于WEB ServiceWCFWebApi实现身份验证之WEB Service篇

关于WEB ServiceWCFWebApi实现身份验证之WEB Service篇

发布时间:2015-11-20 21:00:26
在这个WEB API横行的时代,讲WEB Service技术却实显得有些过时了,过时的技术并不代表无用武之地,有些地方也还是可以继续用他的,我之所以会讲解WEB Service,源于我最近面试时被问到相关问题,我这里只是重新复习一下并总结一下,给新手们指指路,大牛们可以无视之,当 ...

关于WEB ServiceWCFWebApi实现身份验证之WEB Service篇

在这个WEB API横行的时代,讲WEB Service技术却实显得有些过时了,过时的技术并不代表无用武之地,有些地方也还是可以继续用他的,我之所以会讲解WEB Service,源于我最近面试时被问到相关问题,我这里只是重新复习一下并总结一下,给新手们指指路,大牛们可以无视之,当然不足之处还请大家指教,谢谢!

WEB Service身份验证,网上已有许多的相关文章,总结起来有:基于自定义SoapHeader验证、Form验证、集成Windows身份验证、服务方法加入一个或几个验证参数;下面就不废话了,直接分享实现的代码吧,中间有涉及注意的地方,我会有说明文字的。

1.基于自定义SoapHeader验证

定义服务:(注意UserValidationSoapHeader必需有无参构造函数,否则无法序列化)

//UserValidationSoapHeader:  public class UserValidationSoapHeader : SoapHeader  {    public get='_blank'>string UserName { get; set; }    public string Password { get; set; }    public UserValidationSoapHeader()    { }    public bool IsValid()    {      if (string.IsNullOrEmpty(UserName) || string.IsNullOrEmpty(Password))      {        throw new Exception("用户名及密码不能为空!");      }      if (!string.Equals(UserName, "admin") || !string.Equals(Password, "123456"))      {        throw new Exception("用户名或密码不正确!");      }      return true;    }  }//SoapHeaderWebService:  [WebService(Namespace = "http://www.zuowenjun.cn")]  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  [System.ComponentModel.ToolboxItem(false)]  // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。  [System.Web.Script.Services.ScriptService]  public class SoapHeaderWebService : System.Web.Services.WebService  {    public UserValidationSoapHeader userValidation;    [WebMethod(Description="问候")]    [SoapHeader("userValidation")]    public string HelloTo(string name)    {      if (userValidation.IsValid() && !string.IsNullOrEmpty(name))      {        return "Hello " + name;      }      return "Hello World!";    }  }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:关于WEB ServiceWCFWebApi实现身份验证之WEB Service篇

关键词:web

web
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。