龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

ASP.NET调用WebService用户验证示例(身份验证后才可以调用WebService)

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
本示例基于ASP.NET开发,主要用户是外部程序调用WebService的时候要身份验证成功后才可以获取WebService的数据。 直接上代码吧,如下: 首先,在项目的右键新建一个Web 服务文件(test.asm

本示例基于ASP.NET开发,主要用户是外部程序调用WebService的时候要身份验证成功后才可以获取WebService的数据。

直接上代码吧,如下:

首先,在项目的右键新建一个Web 服务文件(test.asmx)。

主要使用到的命名:

using System.Web.Services;
using System.Web.Services.Protocols;

 

namespace xueit.Web
{

    #region 登录头配置
   
    public class MySoapHeader : SoapHeader
    {
        private string strUserName = string.Empty;
        private string strPassWord = string.Empty;

        public MySoapHeader()
        {

        }

        public MySoapHeader(string username, string password)
        {
            this.strUserName = username;
            this.strPassWord = password;
        }

        #region 用户名与密码

        public string UserName
        {
            get { return strUserName; }
            set { strUserName = value; }
        }

        public string PassWord
        {
            get { return strPassWord; }
            set { strPassWord = value; }
        }

        #endregion

        #region 检测是否正确登录
        public bool CheckLogin()
        {
            if (strUserName == "admin" && strPassWord == "123456")
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        #endregion
    }

    #endregion

 

    /// <summary>
    /// SkillWebService 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    // [System.Web.Script.Services.ScriptService]
    public class testWebService : System.Web.Services.WebService
    {

        [System.Web.Services.Protocols.SoapHeader("myHeader")]
        [WebMethod(Description = "获取当前数据(DataSet)", EnableSession = true)]
        public DataSet GetIndexSkillData(string msid)
        {
            if (myHeader.CheckLogin())
            {
                skillDAL dal = new skillDAL();
                return dal.GetIndexSkillData(msid);
            }
            else
            {
                throw new SoapException("未登录系统或登录超时,请重新登录 !", new System.Xml.XmlQualifiedName("lanyou", "http://Lanyou/"));
            }
        }

 

        [System.Web.Services.Protocols.SoapHeader("myHeader")]
        [WebMethod(Description = "更新点击率(bool)", EnableSession = true)]
        public bool UpdateSkill(string msid)
        {
            if (myHeader.CheckLogin())
            {
                skillDAL dal = new skillDAL();
                return dal.UpdateSkill(msid);
            }
            else
            {
                throw new SoapException("未登录系统或登录超时,请重新登录 !", new System.Xml.XmlQualifiedName("lanyou", "http://Lanyou/"));
            }
        }

    }

}

 

好,到这里实现了获取当前记录及更新点击的时候要身份登录。

下面示例如何调用这个WebService

 

本文版权归学IT网(www.xueit.com)所有,任何单位与个人转载必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


精彩图集

赞助商链接