在这个WEB API横行的时代,讲WEB Service技术却实显得有些过时了,过时的技术并不代表无用武之地,有些地方也还是可以继续用他的,我之所以会讲解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
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。