mod_cas2 の Document For Version 1.0.0 $Id: Document_mod_cas2.txt,v 1.4 2006-04-08 16:07:00+09 naito Exp $ ####### 注意: Makefile 無いの PATH などは不完全である. apache1 に対するコードは検証ができていない. ####### 注意: mod_cas2 を用いると, CAS2 サーバを用いて static contents へのアクセスを制御することができる. 1. httpd.conf への記述 - Example ------- LoadModule cas2_module modules/mod_cas2.so CASLocalCacheFile "/var/log/httpd/cas_cache" CASLocalCacheSize 1000 CASLocalCacheTimeout 300 CASLocalCacheInsecure On CASHost www.math.nagoya-u.ac.jp CASLogin /cas/login CASLoginSSL On CASLogout /cas/logout CASLogoutSSL On CASValidate /cas/validate CASValidateSSL Off CASGoback /cas/backService.jsp CASGobackSSL On CASPort 443 CASValidatePort 80 CASMethod GET CASProtocol HTTP/1.0 CASMatchValidUser uid CASTrustedCA "/usr/local/Apache/tomcat_jackal/mod_cas_ca/verisignserverca.pem" CASTrustedCA "/usr/local/Apache/tomcat_jackal/mod_cas_ca/GTE_CyberTrust.pem" CASTrustedCADir "/usr/local/Apache/tomcat_jackal/mod_cas_ca/" ---------------------- CASLocalCacheFile CAS 情報の Local Cache File Path CASLocalCacheSize Local Cache File Size CASLocalCacheTimeout Local Cache Timeout CASLocalCacheInsecure On|Off CASHost CAS HOST NAME CASLogin CAS LOGIN URL CASLoginSSL On|Off (LOGIN で SSL を使うかどうか) CASLogout CAS LOGOUT URL CASLogoutSSL On|Off (LOGOUT で SSL を使うかどうか) CASValidate Validation URL CASValidateSSL On|Off (Validation で SSL を使うかどうか) CASGoback GoBACK URL CASGobackSSL On|Off (GoBack で SSL を使うかどうか) CASPort Login/Logout/Goback で非標準ポートを使う場合のポート番号 CASValidatePort Validation で非標準ポートを使う場合のポート番号 CASMethod GET (固定) CASProtocol HTTP/1.0 (or HTTP/1.1) CASMatchValidUser .htaccess の user 制限で用いる attribute CASTrustedCA CA root 証明書の PATH (複数行指定可能) CASTrustedCA CA root 証明書の DIR (複数行指定可能) 2. Directory Directive または .htaccess の記述方法 --------------------- AuthType CAS Require valid-user naito --------------------- Require valid-user の場合には CAS-ACL での記述通り. valid-user の後に userid (空白区切り) が記述してある場合には CASValidateUser に指定した属性の 属性値(一般には UserID)が一致するユーザのみに制限が可能. 3. CAS-ACL の記述方法 cas-auth-type: mod_cas_directory が必要. 3.1 一般の場合 (cas-auth-directory-match: none) ---------------------------------- dn: cn=mod_cas_test_2,ou=naito,ou=cas,dc=math,dc=nagoya-u,dc=ac,dc=jp cas-allow: (uid=kubo) cas-service: http://www\.math\.nagoya\-u\.ac\.jp/~naito/mod_cas_test/for_kubo.* cas-attributes: uid cas-auth-type: mod_cas_directory cas-auth-directory-match: none ---------------------------------- この時, cas-attributes に uid (CASMatchValidUser に指定されたもの)が指定されているときには, この値を使って, Require directive を利用可能. 3.2 Directory 名でアクセスを制限する方法. (cas-auth-directory-match: exact または cas-auth-directory-match: regexp) ---------------------------------- dn: cn=mod_cas_apache_1,ou=gakumu,ou=cas,dc=math,dc=nagoya-u,dc=ac,dc=jp cas-allow: (|(IP=172.16.254.0/24)(IP=172.16.1.0/24)) cas-service: http://kiwi.math.nagoya-u.ac.jp/mod_cas/.* cas-attributes: uid cas-auth-type: mod_cas_directory cas-auth-directory-index: 4 cas-auth-attribute: uid cas-auth-directory-match: exact ---------------------------------- URL の "/" による区切りの cas-auth-directory-index に指定された token と cas-auth-attribute に指定された属性の値との比較を行ない, exact の場合には, 完全一致, regexp の場合には, 前方一致 によって一致している場合にアクセスが許可される. example 1: cas-auth-directory-index: 4 の場合には, http://kiwi.math.nagoya-u.ac.jp/mod_cas/naito/ の "naito" の部分が比較対象となる. さらに, exact の場合には, uid: naito のみのアクセスが許可される. example 2: cas-auth-directory-index: 4 の場合には, http://kiwi.math.nagoya-u.ac.jp/mod_cas/naito/ の "naito" の部分が比較対象となる. さらに, regexp の場合には, uid: naito.* のみのアクセスが許可される.