使用 LDAP 授权的 Apache Kerberos 身份验证:访问 / 失败,原因:需要存在指令并且没有权威处理程序

使用 LDAP 授权的 Apache Kerberos 身份验证:访问 / 失败,原因:需要存在指令并且没有权威处理程序

我正在尝试启动并运行具有 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 身份验证成功(但仍然需要组成员身份)。

相关内容