[LON-CAPA-admin] JA-SIG/Yale CAS with LON-CAPA

Stuart Raeburn raeburn at msu.edu
Thu Apr 2 11:23:18 EDT 2009


Mike,

At MSU, Single Sign On (SSO) for LON-CAPA has been implemented using  
an Apache module (mod_sentinel) to communicate with a locally built  
CAS system. Under the current implementation, page requests for  
msu.loncapa.org from browsers without a valid LON-CAPA session cookie  
are redirected by mod_sentinel to the centrally maintained CAS log-in  
page (customizable for the application needing SSO auth).

 From the LON-CAPA side of things the following perl variables need to  
be set in an Apache configuration file:

PerlSetVar lonOtherAuthen yes
PerlSetVar lonOtherAuthenType Sentinel
PerlSetVar lonSSOUserUnknownRedirect /adm/sso_failed_login
PerlSetVar lonSSOUserLogoutMessageFile  
/home/httpd/html/adm/sso_logout_link_html_frag

PerlSetVar lonSSOReloginServer http://msu.loncapa.org

(in this example Sentinel is the CAS system in use).

Successful authentication by Sentinel makes the username of the  
authenticated user available to LON-CAPA's Authz handler via $r->user,  
when SSO authentication has been used.

Although the CAS (Sentinel) Apache module/configuration could have  
been deployed on all MSU LON-CAPA servers, at MSU this is only run on  
one server (which is aliased as msu.loncapa.org).  That particular  
server only handles authentication and initiation of the user's  
LON-CAPA session.  Once those are complete, the user's session is  
switched using LON-CAPA's inbuilt load balancing to the least loaded  
of the MSU access servers.

This requires the following in the Apache configuration file:

PerlSetVar lonBalancer yes

This should be omitted if the server is to host LON-CAPA sessions in  
the normal way.  Equally, a LON-CAPA server can be used as a load  
balancing server without CAS authentication, if this single line is  
included in a config file.

One motivation for restricting SSO to the single load balancer server,  
is that LON-CAPA users from another domain may find their way directly  
to one of the MSU access servers.  In that case the user needs the  
standard LON-CAPA log-in page (which includes a form entry field for  
the user's domain).  A further motivation is the issue of  
accommodating LON-CAPA users from the msu domain who do not have  
institutional log-in IDs, i.e., those who use LON-CAPA internal  
authentication.  This has been variously addressed with a link shown  
on the CAS login page:

"Log-in here username you use in LON-CAPA is not a NetID"
where "here" is a link to /adm/login

and also with a "Log-in help" link which points to:  
http://loncapa.msu.edu/login_info

One further consideration is what to do about users who successfully  
authenticate using CAS, but who do not have LON-CAPA accounts (the  
"lonSSOUserUnknownRedirect" condition).  Under this condition, the  
page defined for this PerlVar in the Apache config will be displayed,  
or (if the domain has been configured to permit self-creation of  
accounts - added in LON-CAPA 2.7), a page generated by  
/adm/createaccount will be displayed to allow the user to confirm that  
he/she wishes to create a LON-CAPA account using his/her CAS username.

Stuart Raeburn
MSU LON-CAPA group


Quoting Mike Stanger <mstanger at sfu.ca>:

> We're considering integrating JA-SIG CAS (Central Authentication
> System) with LON-CAPA.  I'm wondering what other schools' experience
> has been with using CAS in LON-CAPA? Is there a 'right way' to go
> about it?  My initial thought on how to put it in place is to protect
> the entire space with mod_cas and grab the authenticated users from
> apache's REMOTE-USER env var, completely overriding the initial login
> page, which seems a bit kludgy.
>
> Any comments from those have experimented with, or are currently
> running LON-CAPA with CAS would be greatly appreciated.
>
> Cheers,
> Mike
>
>
>
>
> +------------------------
> |Mike Stanger
> |Systems Consultant, ICAT
> |SH1023 Simon Fraser University
> |Burnaby, BC Canada V5A 1S6
> |Phone: (778) 782-3361
> |FAX: (778) 782-4242
> |email: mstanger at sfu.ca
> |http://www.sfu.ca/~mstanger







More information about the LON-CAPA-admin mailing list