我的数据库里有一个用户表user
两个字段userName ,password
我发布的Web services的所有功能都需要用户登陆才可以使用?
请问如何做这样的验证?
请给点思路或代码?

解决方案 »

  1.   

    在web方法中带上用户名称 和密码.
    再就是集成身份验证,但不是很灵活.
      

  2.   

    自己在WebService中写判断过程就是了,其实一个样
      

  3.   

    最关键的是这样的WebService类库应该怎么组织编写
    什么样子的结构
      

  4.   

    SOAP 标头提供了一种方法,用于将数据传递到 XML Web services 方法或从 XML Web services 方法传递数据,条件是该数据不直接与 XML Web services 方法的主功能相关。例如,一个 XML Web services 可能包含若干个 XML Web services 方法,而每个方法都需要自定义的身份验证方案。您不用将参数添加到每个需要自定义身份验证方案的 XML Web services 方法,而可以将引用从 SoapHeader 派生的类的 SoapHeaderAttribute 应用于每个 XML Web services 方法。从 SoapHeader 派生的类的实现处理该自定义身份验证方案。按照此方式,XML Web services 方法使用 SOAP 标头来仅实现特定于它的功能并添加其他功能。下面的列表概述接收和处理 SOAP 标头的基本步骤: 创建从 SoapHeader 派生的类,表示传入 SOAP 标头的数据。 
    将一个成员添加到实现 XML Web services 的类或 XML Web services 客户端代理类(它们属于在第一步创建的类型)。 
    指定第二步中在 MemberName 属性中创建的成员,将 SoapHeaderAttribute 应用于 XML Web services 方法或代理类中的对应方法。 
    在 XML Web services 方法或 XML Web services 客户端代码中访问 MemberName 属性,以处理在 SOAP 标头中发送的数据。 
      

  5.   

    <%@ WebService Language="C#" Class="MyWebService"%>
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Xml;
    using System;// Define a SOAP header by deriving from the SoapHeader base class.public class MyHeader : SoapHeader {
        public string MyValue;
    }public class MyWebService {    public MyHeader myHeader;
        // Receive all SOAP headers besides the MyHeader SOAP header.
        public SoapUnknownHeader[] unknownHeaders;
     
        [WebMethod]
        [SoapHeader("myHeader", Direction=SoapHeaderDirection.InOut)]    //Receive any SOAP headers other than MyHeader.
        [SoapHeader("unknownHeaders",Required=false)]    public string MyWebMethod() {       foreach (SoapUnknownHeader header in unknownHeaders) {
               // Perform some processing on the header.
           if (header.Element.Name == "MyKnownHeader")
                   header.DidUnderstand = true;
           else
                    // For those headers that cannot be  
                    // processed, set the DidUnderstand property to false.
                    header.DidUnderstand = false;
           }
           return "Hello";
        }
    }
      

  6.   

    验证了用户后,怎么保存登陆状态.
    例如切换下一个窗体,或者调用下一个WEB服务方法的时候怎么得知已经登陆了哪?
      

  7.   

    验证了用户后,怎么保存登陆状态.
    例如切换下一个窗体,或者调用下一个WEB服务方法的时候怎么得知已经登陆了哪?
      

  8.   

    你的这个需求我已经做过:
    在web service中定义static hashtable.
    public static Hashtable userinfo=new Hashtable();
    把成功信息放在hashtable中.
    以后任何模块都可以用hashtable中的成功信息.
    static static static static (固定在内存中)
    需要释放