如何在mod_auth_cas中支持“require group foobar”

时间:2012-01-20 09:53:07

标签: apache cas

我使用mod_auth_cas来保护我的tsdb站点,示例如下。当我使用"要求有效用户"时,它运作良好。但我想只允许一些人查看我的网站,所以我使用"要求组foobar"在apache conf中,但我不知道如何使它工作。我试过添加额外的"组"我的rubycas-server上的属性,但它不起作用。

<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 个答案:

答案 0 :(得分:1)

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

如果你想使用“需要ldap-group”,它将通过mod_authnz_ldap授权,与“需要用户”一起授权使用mod_auth_cas,那么请确保包括“AuthzLDAPAuthoritative off”(CASAuthoritative已经默认关闭) )。

[1] https://github.com/Jasig/mod_auth_cas(请注意,版本1.0.10尚未实际发布)

答案 1 :(得分:0)

我认为CAS根本不涉及群体。它只处理身份验证,因此它只能告诉您已登录 - 但它不会授权。