2009-09-07 38 views
6

我需要實施CAS代理授予票證系統。某人是否有CAS代理授予票證的有效示例?

所以我需要了解系統。有一個很好的文檔here,但我不知道我需要的proxyCallback。

有人可以解釋我嗎?

+0

我實施了CAS SSO成功,也許我可以幫你,但你必須解釋你的疑慮更加清楚一點。 – rodrigoap 2009-09-07 15:58:05

+0

我跟着在http://www.ja-sig.org/wiki/display/CAS/Proxy+CAS+Walkthrough的文章,但我不知道我需要爲pgtUrl參數等,其網址「第二步(B) :驗證票證並啓用進一步代理「。 我不明白pgtUrl的作用。 – 2009-09-08 09:32:06

回答

3

中科院將調用pgtURL提供特價機票,將使該應用程序,以獲得新的門票爲其他應用程序。
這是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> 

爲了得到一個新的票與特價機票另一個服務:

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

然後你重定向到該服務給它的新票。

+0

好的。 我沒有注意到我必須更改web.xml。 我不是Java大師。你是否意味着我寫了一些Java代碼來啓用代理授予票證? – 2009-09-09 09:39:09

+1

您只需編寫使用PGT的部件即可獲取其他應用程序的新票證。負責接收PGT並將其存儲以供您使用的部分已經在ProxyTicketReceptor servlet中進行了編碼。 – rodrigoap 2009-09-09 14:18:46