WebService 用户名密码验证
在项目开发的过程中,WebService是经常要用的,当调用WebService方法时,需要经过服务的验证才可以调用,一般就是用户名/密码验证,还有一个就是证书.下面程序使用的是用户名/密码的方式,很简单的一个程序.
项目截图:
先看服务端的代码(ws_Service)
MySoapHeader.cs 这里通过继承SoapHeader实现对用户名/密码的验证
public class MySoapHeader:System.Web.Services.Protocols.SoapHeader{private string userID = string.Empty;private string userPW = string.Empty;public string UserId{get { return userID; }set { userID = value; }}public string UserPW{get { return userPW; }set { userPW = value; }}public MySoapHeader(){ }public MySoapHeader(string name, string password){userID = name;userPW = password;}private bool IsValid(string nUserId, string nPassWord, out string nMsg){nMsg = "";try{if (nUserId == "admin" && nPassWord == "admin"){return true;}else{nMsg = "对不起,你无权调用Web服务";return false;}}catch{nMsg = "对不起,你无权调用Web服务";return false;}}public bool IsValid(out string nMsg){return IsValid(userID,userPW,out nMsg);}}
Service1.asmx文件代码:
[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)]public class Service1 : System.Web.Services.WebService { public MySoapHeader myHeader = new MySoapHeader();[WebMethod]public string GetMsg(){Thread.Sleep(5000);return "Hello World";}[SoapHeader("myHeader")][WebMethod(Description="获取用户列表")]public string GetMain(){string msg = "";if (!myHeader.IsValid(out msg)){return msg;}return "Main";} }
这里面有两个方法,其中GetMsg方法是不需要验证的,而GetMain方法需要进行用户名/密码的验证,这个可以在客户端调用时进行验证.
客户端添加对服务端的引用…
Program.cs文件
class Program {static void Main(string[] args){localhost.Service1SoapClient proxy = new ws_Client.localhost.Service1SoapClient();MySoapHeader header = new MySoapHeader();header.UserId = "admin";header.UserPW = "admin";string result = proxy.GetMain(header);//string result = proxy.GetMsg();Console.WriteLine(result);Console.ReadKey();}}
WebService 用户名密码验证相关推荐
- java webservice用户名密码_WebService 用户名密码验证
在项目开发的过程中,WebService是经常要用的,当调用WebService方法时,需要经过服务的验证才可以调用,一般就是用户名/密码验证,还有一个就是证书.下面程序使用的是用户名/密码的方式,很 ...
- Open***2.4.3 基于用户名密码验证方式(实战)
安装部署参考"Open'×××安装部署文档" 基于用户名密码验证: 1.修改server.conf: tls-auth ta.key 0 # This file is secret ...
- java wcf 未提供用户名_WCF安全之自定义用户名密码验证方式 | 学步园
概述 Windows Communication Foundation (WCF) 是 Microsoft 为构建面向服务的应用程序而提供的统一编程模型(摘自MSDN),在分布式环境下的安全问题尤为重 ...
- linux php运行用户名和密码,Linux实例(一)使用用户名密码验证连接Linux
本篇文章给大家带来的内容是关于使用用户名密码验证连接Linux,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 如果您使用的是 SSH 密钥对,请参考 使用SSH密钥对连接Linux实 ...
- WCF全双工以及用户名密码验证
WCF是支持TCP双向连接的,支持Server和Client之间互发协议,通过 订阅-发布 的全双工形式实现,全双工的用户名密码验证需要X509证书加密,单工模式的用户名密码验证时,X509证书是可选 ...
- hive 配置用户名_配置HiveServer2的安全策略之自定义用户名密码验证
具体从网上看 http://doc.mapr.com/display/MapR/Using+HiveServer2#UsingHiveServer2-ConfiguringCustomAuthenti ...
- 自定义实现wcf的用户名密码验证
目前wcf分为[传输层安全][消息层安全]两种,本身也自带的用户名密码验证的功能,但是ms为了防止用户名密码明文在网络上传输,所以,强制要求一旦使用[用户名密码]校验功能,则必须使用证书,按照常理讲, ...
- 太实用了!自己动手写软件——邮件用户名密码验证
我们计划实现的弱口令破解软件一共支持如下四类协议的解析: 数据库类--MySQL.Oracle和SQL server 邮件类--IMAP.POP3和SMTP 文件传输类--FTP 运维类--SSH 数 ...
- es带用户名密码验证并配置elasticsearch-head连接
一.搭建es,带用户名密码验证 Elastic 安全是非常重要的.没有这个我们的数据可以被任何的人进行访问,串改,删除.Elastic Stack 的安全是由 x-pack 所提供的.在 Elasti ...
最新文章
- 老婆给当程序员的老公打电话:今天下班顺路买斤元宵……
- 活动目录实战系列二(主域控无法正常启动)
- WinCE6.0的批量编译
- iview area 遇到的坑
- listview控件在php的使用方法,Android_Android编程之控件ListView使用方法,本文实例讲述了Android编程之控 - phpStudy...
- Dijkstra算法——计算一个点到其他所有点的最短路径的算法
- margin和padding的区别
- linux常用解压和压缩文件的命令
- 请教设计模式大牛们几点
- python窗体设计插件_Python 界面生成器 wxFormBuilder 的入门使用(wxPython的界面设计工具的初学笔记)...
- python3.7.3配置环境变量_配置环境变量切换到python3.7
- 《Cortex-M0权威指南》之Cortex-M0编程入门
- 计算机信息管理自荐信个人简历,计算机信息专业英文自荐信
- vm安装windows出问题:加载驱动程序 缺少计算机所需的介质驱动程序。这可能是DVD,U盘或者硬盘驱动程序如果你有包含该驱动程序的CD,DVD或U盘,请立即插入 注意:如果windows安装介..
- RGB、HSL、Hex网页色彩,看完这篇全懂了
- 如何制作专属的VS Code主题
- windows下GMT绘制矢量图
- 未来5年互联网,运营将成比产品更加有前途的职业?
- (二十四)资本资产定价模型
- 【计算机基础】多媒体技术、网页制作、计算机网络
热门文章
- 控制结构(1)-判断控制
- java导出excel数据量大_解决大批量Excel导出OOM问题
- python webdriver点击指令_测开系列Selenium Webdriver Python(20)--Webdriver运行原理
- POJ 2728 最优比率生成树
- 【Android 逆向】函数拦截 ( CPU 高速缓存机制 | CPU 高速缓存机制 导致 函数拦截失败 )
- 【Android Protobuf 序列化】Protobuf 使用 ( Protobuf 序列化 | Protobuf 反序列化 )
- 【MATLAB】数据类型 ( 执行代码 | 清空命令 | 注释 | 数字 | 字符 | 字符串 )
- 爬虫篇 --- 分布式爬虫
- react复习总结(1)--react组件开发基础
- Agent Job相关的系统表