zoukankan      html  css  js  c++  java
  • WebService基于SoapHeader实现安全认证(二)

    支持通过Http请求方法调用webservice,同时支持SoapHeader验证。

    using Globalegrow.Common;
    using Globalegrow.Model;
    using System.Web;
    using System.Web.Services.Protocols;
    
    namespace Globalegrow.Service
    {
        /// <summary>
        /// 自定义SoapHeader类。
        /// </summary>
        public class Certificate : SoapHeader
        {
            private static ServiceConfig M_ServiceConfig;
    
            /// <summary>
            /// 构造函数
            /// </summary>
            public Certificate()
            {
                //=>用于处理Http请求方式调用WebService服务所需要验证的SoapHeader信息。
                this.UserName = HttpContext.Current.Request["UserName"];
                this.PassWord = HttpContext.Current.Request["PassWord"];
            }
    
            /// <summary>
            /// 静态构造函数
            /// </summary>
            static Certificate()
            {
                //=>创建Certificate类的实例时,为AppContext.ServiceConfig 赋值
                M_ServiceConfig = ServiceConfigUtility.Load();
                AppContext.ServiceConfig = M_ServiceConfig;
            }
    
            /// <summary>
            /// 用户名
            /// </summary>
            public string UserName { get; set; }
    
            /// <summary>
            /// 密码
            /// </summary>
            public string PassWord { get; set; }
    
            /// <summary>
            /// 用户验证
            /// </summary>
            public bool IsVaild(out string message)
            {
                string _UserName = M_ServiceConfig.WebServiceTokenAccount;
                string _PassWord = M_ServiceConfig.WebServiceTokenPassword;
                if (this.UserName == _UserName && this.PassWord == _PassWord)
                {
                    message = "";
                    return true;
                }
                else
                {
                    message = "对不起,您没有权限调用此服务!";
                    return false;
                }
            }
        }
    }

     调用:

    http://192.168.3.41:8888/PermissionService/PermissionService.asmx/GetAuthUserByRoleID?UserName=admin&PassWord=admin&roleid=11
  • 相关阅读:
    善待自己的恻隐之心
    FormLayout and FormData
    jquery获取元素索引值index()方法
    Kohana 之ORM文档篇
    css 圆角相框
    Kohana 之 request
    firefox通过XUL实现textoverflow:ellipsis的效果
    jquery 插件开发备注
    Kohana 之ORM实际使用篇
    PHP扩展编写与编译
  • 原文地址:https://www.cnblogs.com/51net/p/4276596.html
Copyright © 2011-2022 走看看