6

我需要实现一个 CAS 代理授予票证系统。

所以我需要了解这个系统。这里有一个很好的文档,但我不知道我需要的 proxyCallback。

有人可以解释一下吗?

4

1 回答 1

3

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);

然后你重定向到那个服务给它新的票。

于 2009-09-08T17:42:57.847 回答