2009-09-07 13 views
6

Devo implementare un sistema di concessione del ticket CAS Proxy.Qualcuno ha un esempio valido su Ticket Proxy Granting Ticket?

Quindi ho bisogno di capire il sistema. C'è un buon documento here, ma non ho idea del proxyCallback di cui ho bisogno.

Qualcuno potrebbe spiegarmelo?

+0

Ho implementato correttamente CAS SSO, quindi forse posso aiutarti, ma devi spiegare un po 'meglio i tuoi dubbi. – rodrigoap

+0

Ho seguito l'articolo su http://www.ja-sig.org/wiki/display/CAS/Proxy+CAS+Walkthrough ma non so quale Url mi serve per il parametro pgtUrl et "Step Two (b) : verifica il ticket e abilita ulteriori proxy ". Non capisco il ruolo di pgtUrl. –

risposta

3

Il CAS invocherà il pgtURL per fornire un ticket speciale che consentirà a tale applicazione di acquisire nuovi ticket per altre applicazioni.
Questa è la configurazione in web.xml:

<servlet> 
    <servlet-name>casproxy</servlet-name> 
    <servlet-class>edu.yale.its.tp.cas.proxy.ProxyTicketReceptor</servlet-class> 
    <load-on-startup>2</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>casproxy</servlet-name> 
    <url-pattern>/casProxy/*</url-pattern> 
</servlet-mapping> 

per ottenere un nuovo biglietto per un altro servizio con il biglietto speciale:

SecurityContext sc = SecurityContextHolder.getContext(); 
CasAuthenticationToken auth = (CasAuthenticationToken)sc.getAuthentication(); 
String pgtIOU = auth.getProxyGrantingTicketIou(); 
String newTicket = ProxyTicketReceptor.getProxyTicket(pgtIOU, anotherService); 

Poi si reindirizzare a tale servizio dando ad essa il nuovo biglietto.

+0

Ok. Non ho notato che dovevo cambiare web.xml. Non sono un guru di Java. Intendi che ho scritto del codice java per abilitare il proxy Granting ticket? –

+1

È necessario solo codificare la parte che utilizza il PGT per ottenere nuovi ticket per altre applicazioni. La parte che ha il compito di ricevere il PGT e di memorizzarlo affinché tu la usi, è già codificata nel servlet ProxyTicketReceptor. – rodrigoap

Problemi correlati