ASP.NET中基于soaphead的webservice安全机制

2025-05-29 0 68

使用soaphead方法可以在webservice的请求中增加头部信息,当有人调用我们的webservice时,可以通过查询这个请求的头部信息并验证来防止该软件以外的程序调用webservice

一、服务端部分

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54
using System;

using System.Web.Services;

using System.Web.Services.Protocols;

//请注意此命名空间必须有别于代理动态连接库上的命名空间。

//否则,将产生诸如多处定义AuthHeader这样的错误。

namespace SoapHeadersCS

{

//由SoapHeader扩展而来的AuthHeader类

public class AuthHeaderCS : SoapHeader

{

public string Username;

public string Password;

}

//[WebService(Description="用于演示SOAP头文件用法的简单示例")]

public class HeaderService

{

public AuthHeaderCS sHeader;

[WebMethod(Description = "此方法要求有调用方自定义设置的soap头文件")]

[SoapHeader("sHeader")]

public string SecureMethod()

{

if (sHeader == null)

return "ERROR:你不是VIP用户!";

string usr = sHeader.Username;

string pwd = sHeader.Password;

if (AuthenticateUser(usr, pwd))

{

return "成功:" + usr + "," + pwd;

}

else

{

return "错误:未能通过身份验证";

}

}

private bool AuthenticateUser(string usr, string pwd)

{

if ((usr != null) && (pwd != null))

{

return true;

}

return false;

}

}

}

二、客户端部分加上验证的请求

?

1

2

3

4

5

6
WebService webservice = new WebService();

AuthHeaderCS auth = new AuthHeaderCS();

auth.Username = "vip";

auth.Password = "vippw";

webservice.AuthHeaderCSValue = auth;

textBox1.Text = webservice.SecureMethod();

以上就是基于soaphead的webservice安全机制全部内容,希望能给大家一个参考,也希望大家多多支持快网idc。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 ASP.NET中基于soaphead的webservice安全机制 https://www.kuaiidc.com/100485.html

相关文章

发表评论
暂无评论