как поддержать "требовать группу foobar" в mod_auth_cas - PullRequest
4 голосов
/ 20 января 2012

Я использую mod_auth_cas для защиты своего сайта tsdb, и пример следующий.Когда я использую «Требуется действительный пользователь», это работает хорошо.но я хочу, чтобы только некоторые люди могли просматривать мой сайт, поэтому я использую «require group foobar» в apache conf, но я не знаю, как заставить его работать.Я пытался добавить дополнительные атрибуты "groups" на моем rubycas-сервере, но это не работает.

<VirtualHost *:80>
CASLoginURL https://cas.example.com/login
CASValidateURL https://cas.example.com/serviceValidate
CASValidateServer Off
CASDebug On

ServerName tsdb.example.com
ProxyPass / http://127.0.0.1:4242/
ProxyPassReverse / http://127.0.0.1:4242/
ProxyPreserveHost On

<Location />
AuthType CAS
require group foobar
# require valid-user
</Location>
</VirtualHost>

спасибо

Ответы [ 2 ]

1 голос
/ 04 декабря 2014

Последняя версия разработки mod_auth_cas теперь поддерживает

Require cas-attribute <attribute>~<value>

, который можно использовать для проверки членства в группе (источник [1]). Формат этого атрибута и регулярного выражения может различаться в зависимости от вашего сервера CAS. Если ваши группы находятся в LDAP, вы также можете комбинировать mod_auth_cas с mod_authnz_ldap, с CAS, обеспечивающим аутентификацию, и LDAP, обеспечивающим авторизацию, например:

AuthType CAS
AuthLDAPURL "ldap://ldap.example.com/ou=Users,dc=example,dc=com?uid?sub?(objectClass=*)" STARTTLS
AuthLDAPGroupAttribute member
Require ldap-group cn=my_role,ou=Groups,dc=example,dc=com

Если вы хотите использовать «Require ldap-group», которая авторизуется через mod_authnz_ldap, в сочетании с «Require user», который авторизуется с помощью mod_auth_cas, то обязательно включите «AuthzLDAPAuthoritative off» (CASAuthoritative уже по умолчанию отключено ).

[1] https://github.com/Jasig/mod_auth_cas (обратите внимание, что версия 1.0.10 еще не выпущена)

0 голосов
/ 19 декабря 2013

Я не думаю, что CAS вообще работает с группами. Он только обрабатывает аутентификацию, поэтому он может только сказать вам, что вы вошли в систему - но он не выполняет авторизацию.

...