在没有密码和用户名的站点上登录使用用户表单活动目录域

时间:2011-08-19 15:09:20

标签: php active-directory apache2 ldap single-sign-on

我有一个问题。我在apache2.2上有一个站点。我需要为客户提供此功能。 当在Active Directory域中的用户打开用户必须自动登录的站点时。

真的我不知道怎么做这个东西。请帮我。因此,如果域中的用户必须自动登录,并且其昵称必须与活动目录中的昵称相同。域

3 个答案:

答案 0 :(得分:3)

实际上可以使用NTLM身份验证。您需要AuthenNTLM - 插件,它将使用Internet Explorer对用户进行身份验证。语法的示例是

<Location />
    PerlAuthenHandler Apache::AuthenNTLM 
    AuthType ntlm,basic
    AuthName test
    require valid-user

    #                    domain             pdc                bdc
    PerlAddVar ntdomain "name_domain1   name_of_pdc1"
    PerlAddVar ntdomain "other_domain   pdc_for_domain    bdc_for_domain"

    PerlSetVar defaultdomain wingr1
    PerlSetVar ntlmdebug 1
</Location>
## taken from the documentation

有关设置的更多选项和具体说明,请参阅module documentation - 以上内容可帮助您开始正确的方向。

在客户端,Internet Explorer和Firefox应该能够在一些配置后自动登录(Firefox需要一点special care - 这可以通过在部署期间设置配置变量来实现。)

答案 1 :(得分:1)

可以使用Kerberos票证完成。 Apache有一个模块http://modauthkerb.sourceforge.net/

我建议你在开始阅读模块文档之前先阅读Kerberos的工作原理。

有两个先决条件:

  • 站点域必须在浏览器上列为本地Intranet
  • 您需要在AD服务器上生成密钥

答案 2 :(得分:-2)

你不能这样做。除非您使用的是古老的Windows95时代的Internet Explorer,它具有将您的Windows用户名/密码发送到受密码保护的任何站点的极其安全的功能,无论该站点位于何处。

浏览器不会自动发送您的Windows凭据,除了IE之外,没有任何浏览器可以访问这些凭据。