我正在尝试在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模块需要启用:
我的/etc/apache2/mods-enabled包括这些:
authnz_ldap.load -> ../mods-available/authnz_ldap.load ldap.conf -> ../mods-available/ldap.conf ldap.load -> ../mods-available/ldap.load