微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

使用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

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

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

相关推荐