Date de création : | 4 décembre 2003 | |
Dernière modification : | 8 décembre 2003 | |
Diffusion : | internet |
Voir le diagramme de classe.
La distribution cas-client comporte entre autres une librairie client java pour CAS.
Deux techniques peuvent être utilisées pour CAS-ifier une application java serveur :
Ce document décrit rapidement la librairie 'bas niveau' CAS ; en fait, il présente des exemples d'utilisation.
Il est conseillé de consulter la documentation du CASFilter ; cette technique très intéressante permet de CAS-ifier facilement une application java serveur, quasiment sans modification de code.
La première partie de la documentation concerne la validation d'un service Ticket ou d'un proxy Ticket
La seconde partie montre comment apporter les fonctions de proxy CAS à une servlet java
2 classes sont définies dans la librairie cliente CAS (en plus du CASFilter):
On suppose ici que la servlet est accessible à l'URL UrlMonService.
String CASLogin = "https://auth.univ.fr/cas/login" ; String UrlMonService = "http://serv.univ.fr/appli/testCAS" String ticket = request.getParameter( "ticket"); if (ticket == null ) { response.sendRedirect( CASLogin + "?service=" +UrlMonService); }
String CASValidate = "https://auth.univ.fr/cas/serviceValidate" ; edu.yale.its.tp.cas.client.ServiceTicketValidator st = new edu.yale.its.tp.cas.client.ServiceTicketValidator(); st.setCasValidateUrl(CASValidate); st.setServiceTicket( ticket ); st.setService( UrlMonService ); st.validate(); if ( st.isAuthenticationSuccesful() ) { out.println("utilisateur = "+ st.getUser() ); }
String CASProxyValidate = "https://auth.univ.fr/cas/proxyValidate" ; edu.yale.its.tp.cas.client.ProxyTicketValidator pv = new edu.yale.its.tp.cas.client.ProxyTicketValidator(); pv.setCasValidateUrl(CASProxyValidate); pv.setServiceTicket( ticket ); pv.setService( UrlMonService ); pv.validate(); if (!pv.isAuthenticationSuccesful()) { out.println("auth ratee" +"<br/>"); out.println( pv.getResponse()+"<br/>" ); out.println( pv.getErrorCode()+"<br/>" ); out.println( pv.getErrorMessage() ); } else { out.println("auth reussie avec user = "+pv.getUser()+"<br/>" ); // affichage de la liste des proxys. java.util.List plist = pv.getProxyList(); java.util.Iterator it = plist.iterator(); while ( it.hasNext() ) { Object item = it.next(); out.println(" proxy "+ item.getClass()+ " "+ item ); } }
Traité par la classe ProxyTicketReceptor.
blablabla.... à faire
Création : 4 décembre 2003 - Jean-Guy Avelin | |
Modifications : |