Nima Mazloumi (nima.mazloumi@gmx.de)
The Central Authentication Service [1] is a mechanism that allows Single-Sign-On (SSO) for web-based applications. When activated authentication takes place on a central authentication service and integrated applications provide a CAS client that forwards login and logout requests to a central service and receive a ticket instead. This ticket is used against the central service to validate an active session. If the validation succeeds that user is logged-in automatically. If not the user has to provide a username and a password.
While the clear benefit is a SSO a SSOut is not supported for CAS releases prio to 3.1. The current package only supports SSO. SSOut is left for future releases. Therefore a logout in OpenACS is not reflected in other integrated systems since the CAS cookie is valid for the whole browser session. To logout safely the user MUST close the browser!
ns_httpsget
statement in auth-cas-procs.tcl
and comment out the tls part.
# Install TLS for https assuming you have installed AOLServer under /usr/local/aolserver45 wget http://dfn.dl.sourceforge.net/sourceforge/tls/tls1.5.0-src.tar.gz tar xzpf tls1.5.0-src.tar.gz cd tls1.5 ./configure --with-ssl-dir=/usr --with-tcl=/usr/local/aolserver45/lib --enable-threads --enable-shared --prefix=/usr/local/aolserver45 --exec-prefix=/usr/local/aolserver45 make installor install nsopenssl module. Make sure you change
auth-cas-procs.tcl
to use ns_httpsget
.
# Install OpenSSL module for https # Assuming that OpenSSL is installed an available under /usr/local/ssl and AOLServer under /usr/local/aolserver45 cd /usr/local/src/aolserver45 cvs -z3 -d:pserver:anonymous@aolserver.cvs.sourceforge.net:/cvsroot/aolserver co nsopenssl cd nsopenssl make install OPENSSL=/usr/local/ssl AOLSERVER=/usr/local/aolserver45
/cas/
. Important is the CasServer
parameter. You don't need to change the other parameters. If you don't want to use the standard auth-cas instance change the LocalSsoHandler
(defaults to /cas/
). Also you can choose between CAS 1.0 and 2.0 validation (parameter ValidationType
).
user_id
of that user. You will need it in case something goes wrong.
LoginTemplate
to /packages/auth-cas/lib/login
youropenacsroot/www/autologin.tcl
and change the user_id
accordingly:
set user_id foo auth::issue_login -user_id $user_id -account_status "ok" parameter::set_value -package_id [subsite::main_site_id] -parameter LoginTemplate -value /packages/acs-subsite/lib/login ad_set_client_property auth-cas authenticated_p 1 ad_returnredirect [parameter::get_from_package_key -package_key acs-kernel -parameter IndexRedirectUrl]This code will grant you access to the OpenACS installation and reset the subsite parameter.
LoginTemplate
parameter