none
请问如何实现Active Directory验证身份? RRS feed

  • 问题

  •  

    一个在域环境内实施的web项目,要求使用Active Directory验证身份。能否实现出这样的效果:用户在域内一台机器登陆域,然后打开浏览器输入web项目的RUL,之后用户即可直接登陆进入web系统的页面,而无需再次输入用户名和密码才能进入。

    1. Web项目是否必须部署在DC域控制器机器上,能否部署在相当于域的客户机上?

    2. IIS的授权方式选择哪种,是“windows集成认证”还是“域服务可信授权”,或是别的那个?

    3. web.config文件的<authentication>和<authorization>等相关部分如何设置?

    4. 能否提供相关代码参考?

     

    本人第一次作这样的项目,希望得到详细一些的帮助,欢迎与我联系imlg@hotmail.com

    2007年12月5日 7:58

答案

  • sorry,我详细地说明

     

    这里假设一个名为web目录,存放页面文件,提供内部经过验证的用户使用,而用户在访问过程中直接通过验证而无需再输入帐号密码。

     

    1、配置web目录安全属性,添加domain users组有相应权限,此外请确保与默认的目录安全不产生抵触;

     

    2、进入IIS,添加以web为根目录的站点,禁用匿名访问

     

    3、进入该站点属性-目录安全性-身份验证和访问控制,单击编辑进入身份验证方法配置框

     

    4、复选集成Windows身份验证及Windows 域服务器的摘要式身份验证,出现提示单击是,之后填写或通过选择指定领域

     

    5、在客户端将该站点URL加入到Intranet区域中

     

    完成。

     

    此外有关Intranet方面的资料可参考:http://support.microsoft.com/?scid=kb;zh-cn;303650&spid=3198&sid=global

     

    关于前一篇帖子中提到的身份验证帮助,在你复选Windows 域服务器的摘要式身份验证会有提示框,点击帮助可以快速定位到IIS中有关身份验证的帮助章节中。

     

    从网上摘录了一些身份验证的相关信息,希望对你有所帮助:


    匿名访问:如果启用了匿名访问,访问站点时,不要求提供经过身份验证的用户凭据。当需要让大家公开访问那些没有安全要求的信息时,使用此选项最合适。用户尝试连接您的网站时,IIS 会将该连接分配给 IUSER_ComputerName 帐户,其中 ComputerName 是运行 IIS 的服务器的名称。默认情况下,IUSER_ComputerName 帐户为 Guests 组的成员。此组具有 NTFS 文件系统权限所规定的安全限制,这些限制指定访问级别以及可提供给公共用户的内容的类型。要编辑用于匿名访问的 Windows 帐户,请在“匿名访问”框中单击浏览
    重要说明:如果启用匿名访问,IIS 会始终先使用匿名身份验证来尝试验证用户身份,即使您启用其他身份验证方法也是如此。


    集成 Windows 身份验证:以前称为 NTLMWindows NT 质询/响应身份验证,此方法以 Kerberos 票证的形式通过网络向用户发送身份验证信息,并提供较高的安全级别。Windows 集成身份验证使用 Kerberos 版本 5 和 NTLM 身份验证。要使用此方法,客户端必须使用 Microsoft Internet Explorer 2.0 或更高版本。另外,不支持通过 HTTP 代理连接进行 Windows 集成身份验证。如果某个 Intranet 中的用户和 Web 服务器计算机在同一个域中,并且管理员可以确保每个用户都使用 Internet Explorer 2.0 或更高版本,那么对于这个 Intranet,使用此选项是最合适的。
    注意:如果选择了多个身份验证选项,IIS 会首先尝试协商最安全的方法,然后它按可用身份验证协议的列表向下逐个试用其他协议,直到找到客户端和服务器都支持的某种共有的身份验证协议。


    Windows 域服务器的摘要式身份验证:摘要式身份验证需要用户 ID 和密码,可提供中等的安全级别,如果您要允许从公共网络访问安全信息,则可以使用这种方法。这种方法与基本身份验证提供的功能相同。但是,此方法会将用户凭据作为 MD5 哈希或消息摘要在网络中进行传输,这样就无法根据哈希对原始用户名和密码进行解码。要使用此方法,客户端必须使用 Microsoft Internet Explorer 5.0 或更高版本,Web 客户端和 Web 服务器必须是相同域的成员或者被相同域信任。
    如果启用摘要式身份验证,请在领域框中键入领域名称。


    基本身份验证(以明文形式发送密码):基本身份验证需要用户 ID 和密码,提供的安全级别较低。用户凭据以明文形式在网络中发送。这种形式提供的安全级别很低,因为几乎所有协议分析程序都能读取密码。但是,它与大多数 Web 客户端兼容。如果允许用户访问的信息没有什么隐私性或不需要保护,使用此选项最为合适。
    如果启用基本身份验证,请在“默认域”框中键入要使用的域名。您还可以选择在领域框中输入一个值。


    Microsoft .NET Passport 身份验证:.NET Passport 身份验证提供了单一登录安全性,为用户提供对 Internet 上各种服务的访问权限。如果选择此选项,对 IIS 的请求必须在查询字符串或 Cookie 中包含有效的 .NET Passport 凭据。如果 IIS 不检测 .NET Passport 凭据,请求就会被重定向到 .NET Passport 登录页。
    注意:如果选择此选项,所有其他身份验证方法都将不可用(显示为灰色)。

    2007年12月7日 8:35

全部回复

  • 只有网站位于Intranet区域,才能直接进行身份验证,可以将企业内部站点添加到IE属性安全中的Intranet区域中。并配置站点的身份验证方法使用Windows域服务器的摘要式身份验证,具体说明请参考帮助。

    2007年12月7日 3:22
  • 感谢版主的帮助,你说的“具体说明请参考帮助”是那里的帮助?

    2007年12月7日 7:38
  • sorry,我详细地说明

     

    这里假设一个名为web目录,存放页面文件,提供内部经过验证的用户使用,而用户在访问过程中直接通过验证而无需再输入帐号密码。

     

    1、配置web目录安全属性,添加domain users组有相应权限,此外请确保与默认的目录安全不产生抵触;

     

    2、进入IIS,添加以web为根目录的站点,禁用匿名访问

     

    3、进入该站点属性-目录安全性-身份验证和访问控制,单击编辑进入身份验证方法配置框

     

    4、复选集成Windows身份验证及Windows 域服务器的摘要式身份验证,出现提示单击是,之后填写或通过选择指定领域

     

    5、在客户端将该站点URL加入到Intranet区域中

     

    完成。

     

    此外有关Intranet方面的资料可参考:http://support.microsoft.com/?scid=kb;zh-cn;303650&spid=3198&sid=global

     

    关于前一篇帖子中提到的身份验证帮助,在你复选Windows 域服务器的摘要式身份验证会有提示框,点击帮助可以快速定位到IIS中有关身份验证的帮助章节中。

     

    从网上摘录了一些身份验证的相关信息,希望对你有所帮助:


    匿名访问:如果启用了匿名访问,访问站点时,不要求提供经过身份验证的用户凭据。当需要让大家公开访问那些没有安全要求的信息时,使用此选项最合适。用户尝试连接您的网站时,IIS 会将该连接分配给 IUSER_ComputerName 帐户,其中 ComputerName 是运行 IIS 的服务器的名称。默认情况下,IUSER_ComputerName 帐户为 Guests 组的成员。此组具有 NTFS 文件系统权限所规定的安全限制,这些限制指定访问级别以及可提供给公共用户的内容的类型。要编辑用于匿名访问的 Windows 帐户,请在“匿名访问”框中单击浏览
    重要说明:如果启用匿名访问,IIS 会始终先使用匿名身份验证来尝试验证用户身份,即使您启用其他身份验证方法也是如此。


    集成 Windows 身份验证:以前称为 NTLMWindows NT 质询/响应身份验证,此方法以 Kerberos 票证的形式通过网络向用户发送身份验证信息,并提供较高的安全级别。Windows 集成身份验证使用 Kerberos 版本 5 和 NTLM 身份验证。要使用此方法,客户端必须使用 Microsoft Internet Explorer 2.0 或更高版本。另外,不支持通过 HTTP 代理连接进行 Windows 集成身份验证。如果某个 Intranet 中的用户和 Web 服务器计算机在同一个域中,并且管理员可以确保每个用户都使用 Internet Explorer 2.0 或更高版本,那么对于这个 Intranet,使用此选项是最合适的。
    注意:如果选择了多个身份验证选项,IIS 会首先尝试协商最安全的方法,然后它按可用身份验证协议的列表向下逐个试用其他协议,直到找到客户端和服务器都支持的某种共有的身份验证协议。


    Windows 域服务器的摘要式身份验证:摘要式身份验证需要用户 ID 和密码,可提供中等的安全级别,如果您要允许从公共网络访问安全信息,则可以使用这种方法。这种方法与基本身份验证提供的功能相同。但是,此方法会将用户凭据作为 MD5 哈希或消息摘要在网络中进行传输,这样就无法根据哈希对原始用户名和密码进行解码。要使用此方法,客户端必须使用 Microsoft Internet Explorer 5.0 或更高版本,Web 客户端和 Web 服务器必须是相同域的成员或者被相同域信任。
    如果启用摘要式身份验证,请在领域框中键入领域名称。


    基本身份验证(以明文形式发送密码):基本身份验证需要用户 ID 和密码,提供的安全级别较低。用户凭据以明文形式在网络中发送。这种形式提供的安全级别很低,因为几乎所有协议分析程序都能读取密码。但是,它与大多数 Web 客户端兼容。如果允许用户访问的信息没有什么隐私性或不需要保护,使用此选项最为合适。
    如果启用基本身份验证,请在“默认域”框中键入要使用的域名。您还可以选择在领域框中输入一个值。


    Microsoft .NET Passport 身份验证:.NET Passport 身份验证提供了单一登录安全性,为用户提供对 Internet 上各种服务的访问权限。如果选择此选项,对 IIS 的请求必须在查询字符串或 Cookie 中包含有效的 .NET Passport 凭据。如果 IIS 不检测 .NET Passport 凭据,请求就会被重定向到 .NET Passport 登录页。
    注意:如果选择此选项,所有其他身份验证方法都将不可用(显示为灰色)。

    2007年12月7日 8:35
  • 最討厭台灣的微軟的那些神經病,干嘛老是重復發貼呢?相關性又不大,不懂就不要回復啊,
    只知道copy/paste微軟的文檔,重復發貼賺積分,
    鄙視這種人!
    2009年5月11日 5:44
  • 這樣的鳥人老子見多了。。。
    2009年5月11日 5:45