[学习日记]对SOAP头内添加信息的验证,可实现对请求WEB服务进行身份验证。

简介: 首先,当然是发送的SOAP头里添加信息的方法了,前面有过记录,这里就不再写了可参见[学习日记]对SOAP请求的头添加内容的方法 那么这次向头内添加的信息为: dim proxy as GetHttpHeadersProxy=new GetHttpHeadersProxyproxy.AddHttpHeader("name","aowind")proxy.AddHttpHeader("pwd","123456")接下来就是WEB服务方面的验证方法了。
首先,当然是发送的SOAP头里添加信息的方法了,前面有过记录,这里就不再写了
可参见
[学习日记]对SOAP请求的头添加内容的方法
 
那么这次向头内添加的信息为:
img_a6339ee3e57d1d52bc7d02b338e15a60.gif dim  proxy  as  GetHttpHeadersProxy = new  GetHttpHeadersProxy
img_a6339ee3e57d1d52bc7d02b338e15a60.gifproxy.AddHttpHeader(
" name " , " aowind " )
img_a6339ee3e57d1d52bc7d02b338e15a60.gifproxy.AddHttpHeader(
" pwd " , " 123456 " )
img_a6339ee3e57d1d52bc7d02b338e15a60.gif

接下来就是WEB服务方面的验证方法了。
img_405b18b4b6584ae338e0f6ecaf736533.gif img_1c53668bcee393edac0d7b3b3daff1ae.gif < %@ WebService Language = " vb "    Class = Class="believing.Believing" %>
img_33d02437d135341f0800e3d415312ae8.gif
img_33d02437d135341f0800e3d415312ae8.gif
Imports System
img_33d02437d135341f0800e3d415312ae8.gif
Imports System.Web.Services
img_33d02437d135341f0800e3d415312ae8.gif
Imports System.IO
img_33d02437d135341f0800e3d415312ae8.gif
Imports System.Collections
img_33d02437d135341f0800e3d415312ae8.gif
img_33d02437d135341f0800e3d415312ae8.gif
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif
Public Structure httpheaderStructure httpheader
img_33d02437d135341f0800e3d415312ae8.gif    
Public name As String
img_33d02437d135341f0800e3d415312ae8.gif    
Public value As String
img_105a1e124122b2abcee4ea8e9f5108f3.gif
End Structure

img_33d02437d135341f0800e3d415312ae8.gif
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif
<System.Web.Services.WebService(Namespace :Namespace:="http://hx66.com", Description:="身份验证服务")> _
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif
Public Class BelievingClass Believing
img_33d02437d135341f0800e3d415312ae8.gif    
Inherits System.Web.Services.WebService
img_33d02437d135341f0800e3d415312ae8.gif
img_33d02437d135341f0800e3d415312ae8.gif        
<WebMethod(Description:="<font color=green>身份验证方法</font>")> _
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif    
Public Function lianzheng()Function lianzheng() As String
img_33d02437d135341f0800e3d415312ae8.gif
dim name,pwd as string
img_33d02437d135341f0800e3d415312ae8.gifname
=Context.Request.Headers("name"
img_33d02437d135341f0800e3d415312ae8.gifpwd
=Context.Request.Headers("pwd"
img_33d02437d135341f0800e3d415312ae8.gif        
If  (用户表中存在name) And (用户表中存在pwd)  Then
img_33d02437d135341f0800e3d415312ae8.gif           Try
img_33d02437d135341f0800e3d415312ae8.gifimg_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gifimg_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gifimg_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif.            
img_33d02437d135341f0800e3d415312ae8.gif            
Catch ex As Exception
img_33d02437d135341f0800e3d415312ae8.gif                
Return ex.ToString
img_33d02437d135341f0800e3d415312ae8.gif            
End Try
img_33d02437d135341f0800e3d415312ae8.gif            
Return "OK!" 
img_33d02437d135341f0800e3d415312ae8.gif        
Else
img_33d02437d135341f0800e3d415312ae8.gif            
Return "用户名或都密码有误,请求不于处理"
img_33d02437d135341f0800e3d415312ae8.gif
        End If
img_105a1e124122b2abcee4ea8e9f5108f3.gif     
End Function

可以看到
name = Context.Request.Headers( " name "
pwd
= Context.Request.Headers( " pwd "
这两句就是从SOAP头中取出数据
也可以用索引方式来取得
Context.Request.Headers(0).value
 
相关文章
|
2月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
41 4
|
3月前
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
68 9
|
3月前
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
195 69
|
2月前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
70 2
|
2月前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
60 3
|
2月前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
34 1
|
2月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
3月前
|
XML JSON 安全
定义Web服务
【10月更文挑战第18天】定义Web服务
90 12
|
3月前
|
机器学习/深度学习 移动开发 JavaScript
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
925 0
|
3月前
|
网络协议 API 网络安全
Web实时通信的学习之旅:轮询、WebSocket、SSE的区别以及优缺点
Web实时通信的学习之旅:轮询、WebSocket、SSE的区别以及优缺点
309 0