在没有密码和用户名的情况下登录站点,使用用户形式的active directory域


login on site without password and user name use user form active directory domain

我有一个问题。我有一个关于apache2.2的网站。我需要为客户提供这个功能。当用户在活动目录域中打开站点时,该用户必须自动登录。

我真的不知道该怎么做这些事。请帮帮我。因此,如果用户在域中,该用户必须自动登录,他的昵称必须与活动目录中的昵称相同。域

使用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

请参考模块文档以获得更多选项和有关设置的具体说明-以上内容应使您在正确的方向上开始。

在客户端,Internet Explorer和Firefox应该能够在进行一些配置后自动登录(Firefox需要一点特别的注意——这可以通过在部署期间设置配置变量来实现)。

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

我建议您在进入模块文档之前先阅读Kerberos的工作原理。

有两个先决条件:

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

你不能这么做。除非你使用的是古老的windows95时代的ie浏览器,它具有惊人的安全功能,可以将windows用户名/密码发送到任何有密码保护的网站,无论该网站在哪里。

浏览器不会自动发送你的windows凭据,可能除了IE,没有其他浏览器可以访问这些凭据。