CAS如何处理会话超时

时间:2011-07-13 09:44:04

标签: session-timeout cas

我对CAS的理解:

拥有1个CAS服务器和2个CAS客户端,

client1通过CAS登录成功 user在client1上工作,因此client1的会话由用户操作刷新。但CAS服务器会话超时。 用户尝试访问client2,当检查CAS发现会话超时时,需要再次登录,但client1已经登录。

没有意义,如果我错了,请纠正我。

2 个答案:

答案 0 :(得分:4)

CAS使用“服务”来区分网站。在cas中,将有一个“client1”服务和一个“client2”服务,每个服务都有自己的TicketGrantingTicket。会话超时是通过此处描述的TGT的CAS服务器票证到期策略来控制的:

https://wiki.jasig.org/display/CASUM/Ticket+Expiration+Policy

这样,每个服务器都有自己的超时。因此,当我转到client1并单击一个链接时,这对client2的会话超时没有影响。

如果您希望这两个网站影响他们的超时,您需要让他们使用相同的服务并调查代理授予机票的使用:

https://wiki.jasig.org/display/CAS/Proxy+CAS+Walkthrough

答案 1 :(得分:2)

Client1可能仍然登录的原因是因为您没有处理CAS在用户的TicketGrantingTicket到期时发出的注销帖子。

当在CAS中发生注销事件时,它会向其所有注册的服务发送注销帖子。 Client1需要通过查看请求来处理此问题。如果您正在使用PHP,则需要查看$ _REQUEST以获取注销消息。