DirectoryEntry AD=new DirectoryEntry(strDomain);

try
{
    AD.Username=strUser;
    AD.Password=strPwd;
    DirectoryEntry Chkus=AD.Children.Find(strUser);
    if(Chkus!=null)
    {
     return "true";
     }
    else
    {
        return "false";
    }
}
catch(Exception e)
{
    return e.Message.ToString();
}
以上代码会自动在你的凭证集生成凭证;但是,我还不知怎麽清楚它。

解决方案 »

  1.   

    jasluen(贾)你那个return return到哪里了?
    Active Directory认证是可以实现的,大家想想System.Security怎么才能让IIS用非IUSR_xxx去访问NTFS(不用Windows集成认证)吧!
      

  2.   

    这个问题也在烦我,Windows验证最佳的地点是局域网,用在Internet,还没有想到好方法。:(
      

  3.   

    一点挑战没有啊~~~大家不要编了,微软提供了;)))
    ____________________________________________________________________
    ASP.NET 使用身份验证提供程序实现附加的身份验证方案,这些身份验证提供程序独立于 IIS 身份验证方案并且只用于 IIS 身份验证方案之后。ASP.NET 支持下列身份验证提供程序: Windows(默认) 
    Forms 
    Passport 
    None 
    若要启用 ASP.NET 应用程序的身份验证提供程序,请使用 machine.config 或 Web.config 中的身份验证元素,如下所示:<system.web>
       <!-- mode=[Windows|Forms|Passport|None] -->
       <authentication mode="Windows" />
    </system.web>
    每个 ASP.NET 身份验证提供程序都支持 OnAuthenticate 事件,该事件在身份验证过程中发生,您可以使用该事件实现自定义的身份验证方案。该事件的主要目的是将实现 IPrincipal 接口的自定义对象附加到上下文中。使用何种 ASP.NET 身份验证提供程序通常取决于选择何种 IIS 身份验证方案。如果使用除“匿名”之外的任何 IIS 身份验证方案,可能需要使用 Windows 身份验证提供程序。否则,将使用 Forms、Passport 或 None。有关更多信息,请参阅 <authentication> 元素和 ASP.NET 身份验证。Windows
    Windows 身份验证提供程序依靠 IIS 来执行所需的客户端身份验证。在 IIS 验证客户端身份后,它将安全令牌传递给 ASP.NET。ASP.NET 基于从 IIS 获得的安全令牌构造一个 WindowsPrincipal 类的对象,并将其附加到应用程序上下文中。有关更多信息,请参阅 WindowsAuthenticationModule 提供程序和 WindowsPrincipal 类。优点
    身份验证使用 Windows 帐户,所以不需要编写任何自定义的身份验证代码。 
    缺点
    可能要求使用和管理单个 Windows 用户帐户。 
    此外,每一个 IIS 身份验证方案都有其自身的优缺点,在选择安全模型时,应对这些加以考虑。有关更多信息,请参阅 IIS 身份验证。实现
    若要实现 Windows 身份验证,请引用相应的 IIS 身份验证方案。有关更多信息,请参阅 IIS 身份验证。Forms (Cookie)
    Forms 身份验证提供程序是一个身份验证方案,它使应用程序可使用 HTML 窗体直接从客户端收集凭据。客户端直接向应用程序代码提交凭据以进行身份验证。如果应用程序验证该客户端的身份,则它向该客户端发出一个 cookie,该客户端在后面的请求中提交该 cookie。如果对于受保护资源的请求不包含该 cookie,则应用程序将该客户端重定向到登录页。当验证凭据时,应用程序可以用多种方法存储凭据,如配置文件或 SQL Server 数据库。有关更多信息,请参阅窗体身份验证提供程序。注意 ISAPI 服务器扩展仅处理那些它拥有其应用程序映射的资源。例如,ASP.NET ISAPI 服务器扩展仅拥有特定资源(如 .asax、ascx、.aspx、.asmx 和 .config 文件,这里只给出这几个)的应用程序映射。默认情况下,ASP.NET ISAPI 服务器扩展以及随后的 Forms 身份验证提供程序不处理任何对非 ASP.NET 资源(如 .htm、.jpg 或 .gif 文件)的请求。
    优点
    允许使用任意条件自定义身份验证方案。 
    可用于身份验证或身份确认。 
    不需要相应的 Windows 帐户。 
    缺点
    受制于 cookie 生存期的重放攻击,除非使用 SSL/TLS。 
    仅适用于映射到 Aspnet_isapi.dll 的资源。 
    实现
    若要实现窗体身份验证,必须创建自己的登录页并且为未授权客户端重定向 URL。还必须为帐户验证创建自己的方案。下面是一个使用 Forms 身份验证的 Web.config 配置的示例:<!-- Web.config file -->
    <system.web>
       <authentication mode="Forms">
          <forms forms="401kApp" loginUrl="/login.aspx" />
       </authentication>
    </system.web>
    由于正在实现自己的身份验证,通常需要为匿名身份验证配置 IIS。Passport
    Passport 身份验证提供程序是一个由 Microsoft 提供的集中式身份验证服务,它为成员站点提供一次登录和核心配置文件服务。Passport 是一个基于窗体的身份验证服务。当成员站点注册到 Passport 时,Passport 服务就授予一个站点特定的密钥。Passport 登录服务器使用该密钥加密和解密在成员站点和 Passport 登录服务器之间传递的查询字符串。有关更多信息,请参阅护照身份验证提供程序。优点
    支持跨多个域的一次登录。 
    与所有浏览器兼容。 
    缺点
    为身份验证过程放置一个外部依赖项。 
    实现
    若要实现 Passport,在使用之前必须向 Passport 服务注册您的站点、接受许可协议并安装 Passport SDK。必须如下配置应用程序的 Web.config 文件:<!-- Web.config file -->
    <system.web>
       <authentication mode="Passport" />
    </system.web>
    有关更多信息,请参阅 Microsoft Passport Web 站点 (http://www.passport.com/)。None(自定义身份验证)
    当根本不对用户进行身份验证或要开发自定义身份验证代码时,请将“None”指定为身份验证提供程序。例如,您可能想要使用 ISAPI 筛选器开发您自己的验证用户身份的身份验证方案,并手动创建 GenericPrincipal 类的对象。有关更多信息,请参阅 GenericPrincipal 类。注意 ISAPI 服务器扩展仅处理那些它拥有其应用程序映射的资源。例如,ASP.NET ISAPI 服务器扩展仅拥有特定资源(如 .asax、ascx、.aspx、.asmx 和 .config 文件,这里只给出这几个)的应用程序映射。默认情况下,ASP.NET ISAPI 服务器扩展以及随后的 None(自定义)身份验证提供程序不处理任何对非 ASP.NET 资源(如 .htm、.jpg 或 .gif 文件)的请求。
    优点
    提供对身份验证过程的完全控制,有最大的灵活性。 
    如果不实现身份验证方法,则提供最高的性能。 
    缺点
    自定义的身份验证方案很少会像操作系统提供的方案一样安全。 
    要求额外的工作来自定义身份验证方案。 
    实现
    若要不进行身份验证或开发自己的自定义身份验证,请创建一个自定义的 ISAPI 筛选器来跳过 IIS 身份验证。请使用下面的 Web.config 配置:<!-- Web.config file -->
    <system.web>
       <authentication mode="None" />
    </system.web>
      

  4.   

    你没理解我的意思!ASP.NET是有Windows集成,Forms和Passport三种认证。但是,我要用Active Directory,但是Windows集成仅适用IE客户!我要的是能让所有Mozilla/4.0客户通过验证!
      

  5.   

    Ns下不能弹出登陆对话吗?我不知道。但用登陆对话的用户名也是能request的。
      

  6.   

    add the following line in web.config, asp.net will use the impersonated account 
    <identity impersonate="true" userName="Domain\userName" password="paswdska" />
      

  7.   

    唉,
    微软的  建立安全的ASP.NET应用文档
    Building Secure ASP.NET Applications
    Authentication, Authorization, and Secure Communication说得很明白了
      

  8.   

    上面有各种授权、认证方式,有简单的实例
    msdn可下载pdf文档608页