1.添加一个cretificate类继承自SoapHeader
     public class CertificateSoapHeader:SoapHeader
        {
            private string username;
            private string password;
            public string UserName
            {
                get
                {
                    return username;
                }
                set
                {
                    username = value;
                }
            }
            public string Password
            {
                get
                {
                    return password;
                }
                set
                {
                    password = value;
                }
            }
            public bool ValideUser(string in_UserName, string in_PassWord)
            {
                string cofig_user = ConfigHelper.GetAppSettings("soapUser");
                string config_pwd = ConfigHelper.GetAppSettings("soapPwd");
                if ((in_UserName == cofig_user) && (in_PassWord == config_pwd))
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
2.自写的WebService方法中添加[SoapHeader("soapHeader")]
 public class Settle_Pay : System.Web.Services.WebService
    {
        public CertificateSoapHeader soapHeader = new CertificateSoapHeader();
        [WebMethod(EnableSession = true, Description = "更新审批状态")]
        [SoapHeader("soapHeader")]//添加认证标头
        public Settle_PayReturnEntity UpdateSettlePayApproval(string OA_Id, string status)
        {
            Settle_PayReturnEntity returnEntity = new Settle_PayReturnEntity();
         //校验用户名密码
            if (!soapHeader.ValideUser(soapHeader.UserName, soapHeader.Password))
            {
                returnEntity.Type = "E";
                returnEntity.Message = "用户名密码错误";
                return returnEntity;
            }
            List<StringBuilder> sqls = new List<StringBuilder>();
            List<object> objs = new List<object>();
            sqls.Add(new StringBuilder(@" update Settle_Pay set applyStatus='" + status + "' where OA_Id='" + OA_Id + "'"));
            objs.Add(null);

string err = string.Empty;
            int r = DataFactory.SqlDataBase().BatchExecuteByListSql(sqls, objs, ref err);
            if (r > 0)
            {
                returnEntity.Type = "S";
                returnEntity.Message = "审核通过!";
            }
            else
            {
                returnEntity.Type = "E";
                returnEntity.Message = err;
            }
            return returnEntity;
        }

}
3.通过SoapUI验证

转载于:https://www.cnblogs.com/lbja2/p/9647183.html

c# WebService添加SoapHeader认证相关推荐

  1. php的webservice的soapheader认证问题

    参数通过类传输: class authentication_header {        private $username;        private $password;        pu ...

  2. WebService基于SoapHeader实现安全认证[webservice][.net][安全][soapheader]

    摘 自: http://blog.sina.com.cn/s/blog_72b7a82d0100yyp8.html WebService基于SoapHeader实现安全认证[webservice][. ...

  3. .Net WebService基于SoapHeader实现安全认证

    主要是接收android传递的数据容易受到误导,多留意参数变化. 一.新增一个类MySoapHeader using System; using System.Collections.Generic; ...

  4. WebService客户端添加SOAPHeader信息

    WebService客户端添加SOAPHeader信息 通过JAXBContext创建Marshaller对头信息进行解析为dom,获取WSBindingProvider,使用Headers.crea ...

  5. solr kerberos java_solr添加kerberos认证及授权

    solr添加kerberos认证及授权 @(OTHERS)[solr] 一.kerberos (一)添加用户 在kdc中添加solr用户: root@kdc:/# kadmin.local kadmi ...

  6. Spring Cloud【Finchley】-03将微服务注册到Eureka Server上 + 为Eureka Server添加用户认证

    文章目录 概述 将用户微服务micorservice-provider-user注册到Eureka Server上 pom中增加 spring-cloud-starter-netflix-eureka ...

  7. Redis添加密码认证Cacti监控读取Redis状态值为 -1 的最快速解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 通过分析ss_get_by_ssh.php脚本,函数redis_get()的用途就是通过打开Redis服务的socket连接, ...

  8. android http协议添加Authorization认证方式

      今天,简单讲讲android里如何使用http请求时在头部添加Authorization认证方式. 其实也很简单,之前需要做一个功能,在android去使用http访问设备,但是每次的访问 ...

  9. solr添加kerberos认证及授权

    solr添加kerberos认证及授权 @(OTHERS)[solr] 一.kerberos (一)添加用户 在kdc中添加solr用户: root@kdc:/# kadmin.local kadmi ...

最新文章

  1. 树莓派安装oepncv3.43
  2. shell 判断_shell之条件判断和流程控制
  3. 关于在html中正常,在aspx中乱码的问题
  4. 1、spring+quartz关闭Tomcat出现异常
  5. OpenStack云计算快速入门教程
  6. java难点在哪里_java的难点在哪?
  7. Truffle合约交互 - WEB端对以太坊数据的读写
  8. 课程上线 -“新手入门 : Windows Phone 8.1 开发”
  9. LeetCode之Sum of Two Integers
  10. 前端学习(3120):react-hello-react的setstate的使用
  11. 2014 华为机考 中国海洋大学上午第三题(java实现)
  12. 乌托邦式的经理人日记——小的奖励激发员工热情
  13. Google Java编程风格指南中文版(转)
  14. 南宁研祥智谷远程预付费电能管理系统的应用
  15. 易基因|深度综述:m6A RNA甲基化在大脑发育和疾病中的表观转录调控作用
  16. 在论文中如何设置页眉页脚
  17. python substract_Python layers.Subtract方法代码示例
  18. PostgreSQL数据库扩展包——原理CreateExtension扩展控制文件解析
  19. jquery实现图片上传预览
  20. php正则匹配汉字!

热门文章

  1. jQuery原理第四天
  2. TTS技术简单介绍和Ekho(余音)TTS的安装与编程
  3. 【输入一个数,判断是否为素数(质数)】
  4. tu-ctf-2016:re-for-50-plz-50
  5. P3163 [CQOI2014]危桥
  6. vue路由,解决同一路由页面多次触发不刷新页面【vue开发】
  7. 第五天、LAMP架构
  8. Selenium学习之==Switch与SelectApi接口详解
  9. webservice第一篇【介绍、Scoket、http调用、wsimport调用】
  10. Mysql5.7.16安装过程