我需要实现一个 CAS 代理授予票证系统。
所以我需要了解这个系统。这里有一个很好的文档,但我不知道我需要的 proxyCallback。
有人可以解释一下吗?
CAS 将调用 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);
然后你重定向到那个服务给它新的票。