0

我在安装 CAS 时遇到了一个奇怪的问题。最近,我们在 RememberMe 上激活了具有 3 个月有效期的门票的 RememberMe 功能。

当我的客户端应用程序的会话到期时,我在

https://urlOfmyCas/login?service=urlOfClient

即使 CASTGC cookie 在那里并且有效的 CAS 再次向我显示登录页面。如果我在没有服务参数的情况下调用上面的 URL,我将被重定向到“登录成功”页面,因此 CAS 知道我已登录。

我希望 CAS 检查 cookie 登录并将我发送回我的客户端应用程序,除非我发送更新参数。

我是否在我的 CAS 安装中搞砸了一些东西,或者这是预期的行为

4

1 回答 1

0

今天终于找到了答案。

CAS 正在创建有效期为 3 个月的长期票证(无论您在 中指定什么过期超时ticketExpirationPolicies.xml)。文档中指定的值rememberMeExpirationPolicyticketCleaner唯一的。因此,即使 cookie 仍然存在,清洁工也可能已经取消了票证注册表中的 TGT。

如果你不带服务参数调用/login,系统只检查cookie中是否有TGTid而不检查票证注册表,所以它显示成功登录页面,这让我有点困惑。

让我遇到麻烦的是,我假设其中使用的过期值org.jasig.cas.ticket.support.RememberMeDelegatingExpirationPolicy也在 SECONDS 中(就像在默认配置中一样),但是这个类需要 MILLISECONDS 的值。我应该检查一下,但是当我尝试将其设置为 3 个月并且票的有效期为 3 个月时(所以我想得到我想要的),以及上面段落中提到的奇怪行为......我的错误到底。

于 2014-03-06T11:24:51.950 回答