加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用SoapHeader实现对WebService的访问验证

发布时间:2020-12-17 02:54:37 所属栏目:安全 来源:网络整理
导读:使用SoapHeader实现对WebService的访问验证 大家都知道通过定义WebService可以实现远程的访问应用。但是,在实际应用中WebService如果被未授权的用户使用极有可能对系统带来破坏,所以采用保护措施是很有必要的。 通常的做法是使用SoapHeader来对访问用户进

使用SoapHeader实现对WebService的访问验证

大家都知道通过定义WebService可以实现远程的访问应用。但是,在实际应用中WebService如果被未授权的用户使用极有可能对系统带来破坏,所以采用保护措施是很有必要的。

通常的做法是使用SoapHeader来对访问用户进行身份验证:
一、WebService端定义一个SoapHeader的子类
Public Class MyHeader
??? Inherits SoapHeader
??? Public Username As String
??? Public Password As String
End Class

同时定义相应的变量
Public mh As MyHeader

然后在方法中加入类似下面的代码
<WebMethod(),SoapHeader("mh")> _
??? Public Function HelloWorld() As String
??????? Dim sTemp As String = "err"

??????? If chkUser() = True Then
??????????? sTemp = mh.Username
??????? End If

??????? Return sTemp
??? End Function


?'验证用户
??? Private Function chkUser() As Boolean
??????? If mh.Username = "小山哥" and mh.Password="123456" Then
??????????? Return True
??????? Else
??????????? Return False
??????? End If
??? End Function

二、客户端
引用的WebService名字是mingday

??? Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
??????? Dim ch As New mingday.MyHeader
??????? ch.Username = txt.Text.Trim?'用户身份
??ch.Password = txt.Text.Trim

??????? Dim a As New mingday.t1
??????? a.MyHeaderValue = ch

??????? MsgBox(a.HelloWorld)?'成功返回用户名,失败返回错误
??? End Sub

另外需要说明的是,对于密码部分,最好还是加密一下(比如使用徐徐的加密类),这样效果会好一点。?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读