实现带有用户身份验证的文件传输Web Service(1) (转)

web

作者: 曹勇刚   www.ASPCool.com 时间:2001-11-28 22:49:30  阅读次数:754

     一、 理解Web Service
     
      首先让我们简单理解一下Web Service。
     
      Web services 实际上是基于XML的针对商业、应用程序的系统服务。实际上是建立在一系列已有的技术基础上的一个新的概念。使用它如同使用RPC(远程过程调用),不过它提供的接口是基于对象的。它与原有的组件模型,如com/dcom,corba,rmi等,最大的特点就是标准化(基于XML的一系列标准)带来的跨平台的通用性,基于http带来的畅通无阻的能力(跨越防火墙),对于Dot Net来说,配合Visual Studio.Net其中的Web Service还具有易用性的特点。用户即便不懂那些相关标准,只要会面向对象变成,对Web Service有个初步的了解就可以动手写Web Service了。
     
      如何建立一个Web service呢?下面的技术步骤获得了工业界普遍认同。
     
      1.服务提供者建立、组织和发布网络服务。它的手段是多样的,可以使用编程语言(例如Delphi,Java,C#等)、中间件或其它特殊平台来完成。
     
      2.服务提供者用WSDL (the Web Services Description Language )来提供服务描述。. WSDL文档向第三方提供服务描述。
     
      3.服务提供者向UDDI (Universal Description, Discovery, and Integration ) 注册表注册网络服务。UDDI使得开发者发布服务并且可以通过软件搜索其它人提供的服务。 用户将通过搜索UDDI 注册表来搜索服务。
     
      4. 客户端应用程序通过和网络服务绑定并且通过SOAP (the Simple Object Access Protocol )来激活网络服务相应的操作。SOAP 提供XML格式的参数和返回结果,并利用HTTP传送。所有网络服务都通过SOAP通讯。
     
      上面的第一步是核心,它决定了你的Web Service的用途和接口。第二步在Visual Studio.Net中被自动完成,大家当然也可以用WSDL.exe手动生成。第四步在客户端编程时Visual Studio提供了最大的便利。用户只要使用” Add Web Service Reference”或者“添加Web服务引用”(中文版),敲入网址,Visual Studio.Net就会自动生成调用Web Service的类,底层的SOAP对用户完全透明。
     
      但是,当用户需要考虑安全性时就不得不考虑一下soap了。记住,安全性是将来必须考虑的,在将来软件开发变为配置集成,软件产品变为服务,购买软件变为租用软件,大部分服务都基于网络时,你可能得考虑谁可以用你的服务,谁不可以用你的服务了,当然,我也比较赞同开放源代码和公开交流技术,我把自己辛苦钻研出来的东西写出来也表明了我的态度。但是,毕竟,我们还是要靠写软件吃饭的:)
     
      在web service中,用户名,密码可以通过soap头(soap header)进行传送。在web service的编写中,需要对soap头进行处理,不过这也不太难,大家认识到这一点然后看我下面的例子就可以学会如何利用它了。

时间: 2025-01-25 12:13:36

实现带有用户身份验证的文件传输Web Service(1) (转)的相关文章

实现带有用户身份验证的文件传输Web Service(2) (转)

web 作者: 曹勇刚   www.ASPCool.com 时间:2001-11-28 22:50:33  阅读次数:520      二. 代码实现           首先,我们实现一个用于身份验证的类,文件名Authentication.cs为代码如下:          using System;          namespace useResData          {           ///           ///实现带有用户身份验证的文件传输Web Service  

实现带有用户身份验证的文件传输Web Service(4) (转)

web 作者: 曹勇刚   www.ASPCool.com 时间:2001-11-28 22:52:41  阅读次数:670      下面点击"GetFile"我们进入下一页,大家看到如图2所示页面,是不是与一般的web服务调用页面不一样?                图 2           为了让大家看到带有用户验证和没有用户验证的区别,我们可以把带有用户身份验证的注释的代码行注释掉或删掉,大家进入的同一个页面会如图3所示:                图 3       

实现带有用户身份验证的文件传输Web Service(3) (转)

web 作者: 曹勇刚   www.ASPCool.com 时间:2001-11-28 22:51:59  阅读次数:493      下面我们生成一个web service,起名叫FileServer,在FileServer.asmx中有如下代码:          <%@ WebService Language="c#" Codebehind="FileServer.asmx.cs" Class="useResData.FileServer&qu

asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功。请重试。 Login控件

原文:asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功.请重试. Login控件 现象1.asp.net使用自定义sql server身份验证数据库,在A机器新增用户A,可以登录成功.把程序复制到B机器上,B机器读不到A用户信息,也无法使用A用户登录.B机器上新增的用户在A机器上也读不到. 现象2.在vs2005环境下运行程序,A用户登录成功,换在IIS下浏览,A用户登录失败. 原因在于web.config中自定义的身份验证提供者中缺少了applicationname的设置

调用SQL SERVER数据库存储过程实现ASP用户身份验证

server|存储过程|数据|数据库 在我们编写用户身份验证程序中,很容易用ASP调用SQL语句来检索数据表中是否有条件相符的记录,然后再用ASP进行相关处理. 条条道路通罗马!当然,我们也可以用SQL SERVER数据库的存储过程来轻松实现这个功能.虽然相对而言较复杂,但其效率的提升是很明显的,因为存储过程是在数据库中已经编译好的一段程序,我们只需用ASP将其所用的各种参数正确传递就行了. 本文也主要是想通过一个简单的事例,向大家介绍一下如何在ASP中调用带参数的存储过程.希望大家能从中得到更

在pHP中使用crypt()实现用户身份验证

[摘 要] 只要有一点使用非Windows平台经验的读者都可能对crypt()相当熟悉,这一函数完成被称作单向加密的功能,它可以加密一些明码,但不能反过来将密码重新转换为原来的明码. 在开发PHP应用中如果不想自己开发新的加密算法,还可以利用PHP提供的crypt()函数来完成单向加密功能. 了解crypt() 只要有一点使用非Windows平台经验的读者都可能对crypt()相当熟悉,这一函数完成被称作单向加密的功能,它可以加密一些明码,但不能反过来将密码重新转换为原来的明码.crypt()函

PHP中使用crypt()实现用户身份验证

在开发PHP应用中如果不想自己开发新的加密算法,还可以利用PHP提供的crypt()函数来完成单向加密功能. 了解crypt() 只要有一点使用非Windows平台经验的读者都可能对crypt()相当熟悉,这一函数完成被称作单向加密的功能,它可以加密一些明码,但不能反过来将密码重新转换为原来的明码.crypt()函数定义如下. string crypt (string input_string [, string salt]) 其中,input_string参数是需要加密的明文字符串,第二个可选

利用SQLSERVER存储过程实现ASP用户身份验证

server|sqlserver|存储过程 在我们编写用户身份验证程序中,很容易用ASP调用SQL语句来检索数据表中是否有条件相符的记录,然后再用ASP进行相关处理. 条条道路通罗马!当然,我们也可以用SQL SERVER数据库的存储过程来轻松实现这个功能.虽然相对而言较复杂,但其效率的提升是很明显的,因为存储过程是在数据库中已经编译好的一段程序,我们只需用ASP将其所用的各种参数正确传递就行了. 本文也主要是想通过一个简单的事例,向大家介绍一下如何在ASP中调用带参数的存储过程.希望大家能从中

PureFTP借助MySQL实现用户身份验证的操作教程_Mysql

pureftp集成mysql身份验证是将ftp用户信息保存到mysql数据库中,这样可以对大量的ftp服务器做集中管理,对用户帐号的维护只要通过mysql的操作就可以完成. 一.下载pureftp源代码,并确定mysql已经安装好 tar zxvf pure-ftpd-1.0.20.tar.gz cd pure-ftpd-1.0.20 ./configure --prefix=/usr/local/pureftpd \ --with-cookie \ --with-throttling \ --