我正在尝试启动并运行具有 Kerberos 身份验证和组要求的 VirtualHost(以及多个 VirutalHosts)。
该指令中我的最新配置<Directory>
如下:
AllowOverride None
Order allow,deny
allow from all
AuthType Kerberos
AuthName "Kerberos Realm Login"
KrbAuthRealm LAN
Krb5KeyTab /etc/apache2/auth/apache2.keytab
KrbMethodK5Passwd On
KrbSaveCredentials On
KrbLocalUserMapping On
AuthzLDAPAuthoritative On
Require ldap-group devel
测试这一点,输入正确的凭据后,出现以下错误:
access to / failed, reason:
require directives present and no Authoritative handler.
当输入错误的 Kerberos 凭证时,它将完全拒绝访问。因此身份验证有效,但似乎无法检查组要求。
该服务器还配置了 PAM 以与相同的 Kerberos 领域和 LDAP 数据库一起工作。
我发现这"Require valid-user"
会出现同样的错误,但是"Require user username"
却没有。
我该如何正确配置它以继续针对 Kerberos 进行身份验证并再次授权 LDAP?
我在 Ubuntu 11.10 x64 上使用 apache2.2.20。
答案1
这文档对于 mod_authnz_ldap 建议AuthzLDAPAuthoritative
用于身份验证:
描述:如果此身份验证模块失败,则阻止其他身份验证模块对用户进行身份验证
您应该尝试关闭此功能以查看是否允许 kerberos 身份验证成功(但仍然需要组成员身份)。