Я пытаюсь использовать mod_auth_cas для AuthN и LDAP для AuthZ. mod_cas_auth на самом деле не имеет значения, потому что у меня такая же проблема с BasicAuth для AuthN. Все работает нормально если укажу <location "/">
, но как только я укажу подраздел <Location "/secure">
авторизация не проходит, и я получаю 403.
например это работает и разрешает доступ людям в указанной группе LDAP:
<Location "/">
AuthType Basic
AuthUserFile var/ht.passwd
AuthName Secure
AuthLDAPUrl "ldaps://<snip>?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN "CN=<snip>
AuthLDAPBindPassword <snip>
Require ldap-group CN=<snip>
</Location>
Но это не так - он просто возвращает 403 всем.
<Location "/secure">
AuthType Basic
AuthUserFile var/ht.passwd
AuthName Secure
AuthLDAPUrl "ldaps://<snip>?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN "CN=<snip>
AuthLDAPBindPassword <snip>
Require ldap-group CN=<snip>
</Location>
В логах для 2-й ситуации у меня есть:
auth_ldap authorise: User DN not found, ldap_search_ext_s() for user failed
Это на Apache 2.2. Я думаю, что это, должно быть, ошибка, но мне интересно, могу ли я что-нибудь сделать, чтобы это работало?
Но почему вы все еще используете AuthUserFile? это работает для меня:
AuthType Basic AuthName "Some name" Require ldap-group <snip> SSLOptions +FakeBasicAuth AuthBasicProvider ldap AuthLDAPBindDN uid=<snip> AuthLDAPBindPassword <snip> AuthLDAPURL ldaps://<server>/<basedn>?uid?sub AuthLDAPRemoteUserAttribute uid AuthzLDAPAuthoritative on Options MultiViews
Ошибка «DN пользователя не найден» сообщает о проблеме с авторизацией. Итак, проверьте свои authbinddn и authbindpassword, например, с помощью ldapsearch: ldapsearch -H ldap: // server -x -D cn =