Central Authen:ca:on Service 9 maggio 2009 proprietà riservata ws webscience srl 2008 1
Introduzione CAS: Central Authen:ca:on Service Sistema di auten:cazione centralizzato per l'implementazione del Single Sign On. Applicazione Web eseguibile in un servlet container come Tomcat U:lizzo di protocolli e std (HTTP, HTTPS, XML etc ScriPo interamente in Java Ul:ma versione 3.3.2 Final Implementa 3 protocolli proprietari: CAS1,2,3 2
Vantaggi Implementazione del SSO Una sola login: tramite lo stesso browser è possibile andare ad accere ad applciazione Web chje richiedono auten:cazione senza la necessità di fornire ogni volta le proprie credenziali Un solo punto di verifica delle credenziali, le applicazioni integrate NON vedono le credenziali L'u:lizzo di CAS "forza" l'utlizzo di una base di uten: comune. Meno effort nella scripura delle applicazioni (??!?) 3
ArchitePura Browser HTTPS Uso di 30X Redirection HTTP Uso di 30X Redirection Applicazione Web HTTPS CAS1,2,3 protocol CAS Servizio di archiviazione delle credenziali 4
Processo di auten:cazione Processo di auten:cazione 1. Request di una pagina di una applicazione. L applicazione vede che l utente non è localmente auten:cato. 2. L applicazione comanda un redirect verso CAS alla pagina con la form di login. L utente fornisce le credenziali. 3. CAS verifica le credenziali su LDAP. LDAP conferma le credenziali fornite. CAS comanda redirect sulla pagina inizialmente richieste al pto 1. 4. L applicazione vede che l utente non è auten:cato localmente ma esiste un token allegato alla request. 5. L applicazione verifica su CAS il token. CAS conferma. 6. L applicazione auten:ca localmente l utente e (non esistendo l utente nella base da: locale) chiede i da: dell utente a LDAP Browser 1: req (/home) / 4:redirect (/home)[token] Web applica:ons Web App 1 Wep App 2 5: check (token) 6: getuser 2: redirect (/login) CAS 3: check (login) LDAP 5
Integrazione CAS client: Cas Ifying Applica:ons (1) Filtro e mapping della nel web.xml della web app Java: Servlet CAS Filter URL della pagina di login del server CAS URL del servizio di backend per la verifica server 2 server URL della web app integrata 6
Integrazione CAS client: Cas Ifying Applica:ons (2) Taglib per la login. Esiste anche il tag per la logout Java: JSP + CAS Tag Library Casclient.jar installato in /WEB INF/lib In tupe le JSP che si vuole proteggere Per accedere via session alle variabili ges:te dal CAS client 7
Integrazione CAS client: Cas Ifying Applica:ons (3) C#: CASP:.NET C# CAS ClientCase manutentuo dalla Western Reserve University..NET CAS Client scripo in C# che u:lizza il protocollo CAS 1 Coldfusion Perl: CAS protocol 2 client PHP Ruby on Rails Client Seraph: web applica:on security framework. Manutenu: da Atlassian per integrare i suoi prodop con SSO (Jira, Concluence etc) WebObject Client: app server e framework di sviluppo Java su Mac OS X Zope Client: CAS protocol 1 e 2 8
Integrazione CAS client: CAS ready products Alfresco: tramite un filtro Liferay: configurabile tramite UD si amministrazione uportal TikiWiki Mule Moodle Esempi di integrazione CAS Outlook Web Access Joomla Wordpress Sakai Tomcat manager 9
Configurazione e cutomizzazione server (1) Possibilità di: Personalizzare le pagine per login, logout e messaggi casconfirmview.jsp The Confirma:on screen a user will see when they have chosen "warn casgenericsuccess.jsp The screen users will see when they successfully authen:cate without coming from a service. casloginview.jsp The screen a user sees when they provide their creden:als or if there is an error processing their creden:als. caslogoutview.jsp The screen users see ater they have ended a CAS Single Sign On Session. 10
Configurazione e cutomizzazione server (2) Integrazione per la verifica delle credenziali con: LDAP JDBC openid Radius X509 Integrazione (per memorizzaione :cket) BerkelyDB JBoss Restlet ScriPura di un Authen:ca:on Handler Implementazione dell interfaccia: Aunteh:ca:onHandler boolean authen:cate(creden:als creden:als) throws Authen:ca:onExcep:on; boolean supports(creden:als creden:als); 11
Una soluzione Provincia di Perugia Portal & Intranet Portal pubblico Portale intranet Documents & record management URL: hpp://www.provincia.perugia.it/home DEMO Login sul portale pubblico 12
Riferimen: Jasig: hpp://www.ja sig.org/products/cas 13