WCF分布式开发必备知识系列文章4:Web Service(2)
using System;
2using System.Data;
3using System.Configuration;
4using System.Web;
5using System.Web.Security;
6using System.Web.UI;
7using System.Web.UI.WebControls;
8using System.Web.UI.WebControls.WebParts;
9using System.Web.UI.HtmlControls;
10using System.Web.Services;
11using System.Web.Services.Protocols;//SoapHeader处于此命名空间
12/**//// <summary>
13/// Coded By Frank Xu Lei 2/17/2009 http://www.cnblogs.com/frank_xl/
14/// MySoapHeader 定义用来传递来自用户的 Soap消息的Soap Header信息
15/// </summary>
16public class MySoapHeader : SoapHeader//用户自定义SoapHeader类必须继承于SoapHeader
17{
18 //属性,存储用户票据
19 private string _token;
20 //构造函数
21 public MySoapHeader()
22 {
23 //
24 // TODO: Add constructor logic here
25 //
26 }
27 //重载构造函数
28 public MySoapHeader(string sToken)
29 {
30 this._token = sToken;
31
32 }
33 //属性访问器
34 public string Token
35 {
36 get { return this._token; }
37
38 set { this._token = value; }
39 }
40}
用户自定义SoapHeader类必须继承于SoapHeader.
其次.另外一个实现用户信息验证的类,独立出来,主要是为了说明验证的框架,用户可以在此实现访问数据库验证等更复杂的实现.具体代码如下
using System;
2using System.Collections.Generic;
3using System.Text;
4namespace WebServiceUserValidation
5{
6 public class UserValidation
7 {
8 public UserValidation()
9 {
10 }
11 //定义一个方法,判断用户名和密码是否有效
12 public static bool IsUserLegal(string sName,string sPsw)
13 {
14 //用户可以访问数据库进行用户和密码的验证
15 //这里为了说明用户密码的校验,仅仅作了简单的比较,不作实现
16 string psw ="FrankXuLei";
17 if (string.Equals(psw, sPsw))
18 {
19 return true;
20 }
21 else
22 {
23 return false;
24 }
25 }
26 //定义一个方法,判断用户票据是否有效
27 public static bool IsUserLegal(string sToken)
28 {
29 //用户可以访问数据库进行用户票据验证
30 //这里为了说明用户票据的校验,仅仅作了简单的比较,不作实现
31 string psw = "FrankXuLei";
32 if (string.Equals(psw, sToken))
33 {
34 return true;
35 }
36 else
37 {
38 return false;
39 }
40 }
41 }
42}