Apache с единым входом и групповой аутентификацией
Я хотел бы настроить SSO в Apache, в т.ч. аутентификация на основе группы. Это означает, что пользователи, входящие в определенную группу, должны иметь возможность авторизоваться на сайте без ввода данных для входа. Пользователям, не состоящим в группе, должен быть запрещен вход на сайт.
Kerberos и LDAP на веб-сервере работают нормально. Я уже проверил это с помощью kinit, klist и ldapsearch. Конфигурация сайта Apache для Kerberos/LDAP следующая:
AuthType Kerberos
AuthName "Active Directory"
KrbMethodNegotiate On
KrbMethodK5Passwd On
KrbServiceName HTTP
KrbAuthRealms domain.com
KrbLocalUserMapping On
Krb5Keytab /etc/apache2/kerb.keytab
Require valid-user
AuthLDAPBindAuthoritative On
AuthLDAPURL "ldaps://dc.domain.com/DC=domain,DC=com?sAMAccountName?sub?"
AuthLDAPRemoteUserAttribute "sAMAccountName"
AuthLDAPBindDN "CN=ldapuser,OU=servicegroups,DC=domain,DC=com"
AuthLDAPBindPassword "<password>"
require ldap-filter memberOf:1.2.840.113556.1.4.1941:=CN=ldapgroup,OU=groups,DC=domain,DC=com
Проблема: пользователи могут войти в систему без ввода данных для входа с помощью единого входа. Но это касается не только аутентифицированных пользователей, но и неаутентифицированных пользователей. Похоже, что LDAP вообще не проверяет, является ли пользователь членом группы «ldapgroup» или нет.
Фильтр LDAP по-прежнему корректен или что я здесь ошибся?