结合Apacheauthentication提供者(文件和LDAP)

我正在尝试在Apache .htaccess文件中同时使用基本文件LDAP用户身份validation,但无法同时使用这两种方法。 它是一个或另一个。

这是我的设置:

的.htaccess

AuthType Basic AuthBasicProvider file ldap AuthUserFile <path>/passwd AuthGroupFile <path>/group AuthLDAPURL "ldap://ldap.<my-domain>.com/ou=People,dc=<my-domain>,dc=com?uid" AuthLDAPGroupAttribute memberUid AuthLDAPGroupAttributeIsDN off <Limit GET POST PUT> require group admin ldap-group cn=web,ou=Group,dc=<my-domain>,dc=com </Limit> 

passwd文件

 test:jhhLuf0DfajXk 

 admin:test 

当我更改限制值并删除或重新sorting组设置时,我得到一个或另一个身份validation提供程序工作。 所以我看起来像是一个语法问题,但我无法弄清楚。

诚实地说, 小组档案可以一起放弃,但我试过了,没有任何影响。 所以我包括它,以防万一它有一些方向。

有人能指点我的方向吗? 这个问题非常类似于apache auth:LDAP和htpasswd的组合,但不完全相同。

在此先感谢您的帮助。

我能解决我自己的问题。 它几乎与所需指令的有效用户选项挂钩。

 Require valid-user 

文档可以在这里find: http : //httpd.apache.org/docs/2.0/mod/core.html#require

正如我原来的问题所提到的那样,文件不再是必需的。 一旦我放弃了该指令以及随之而来的所需指令, valid-user选项似乎解决了这个问题。 我的工作.htaccess文件如下所示。

的.htaccess

 AuthName "Auth Test" AuthType Basic AuthBasicProvider file ldap AuthUserFile <path>/passwd AuthLDAPURL "ldap://ldap.<my-domain>.com/ou=People,dc=<my-domain>,dc=com?uid" AuthLDAPGroupAttribute memberUid AuthLDAPGroupAttributeIsDN off Require valid-user 

文件和LDAP基本身份validation都正常工作,并与此设置很好地共存。

注意

以下Apache模块需要启用:

  • authnz_ldap
  • LDAP

我的/etc/apache2/mods-enabled包括这些:

 authnz_ldap.load -> ../mods-available/authnz_ldap.load ldap.conf -> ../mods-available/ldap.conf ldap.load -> ../mods-available/ldap.load