使用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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。