CAS - 如何在已经登录的情况下绕过ST生成
问题描述:
我在想如果在用户已经登录到服务应用程序的情况下是否有可能绕过服务票据生成。CAS - 如何在已经登录的情况下绕过ST生成
案例:
- 用户有多个浏览器窗口打开相同的服务。 (例如,浏览器启动后)。每个选项卡包含登录窗口。
- 在第一个标签中,他将提供登录名和密码,CAS服务器将验证他并生成TGT和ST。 ST已经过适当的验证,用户可以看到服务应用程序的内容。
- 其他选项卡仍显示CAS登录窗口。
- 当用户刷新标签内容时,CAS将生成新的ST并将重定向到服务应用程序。
- 每次用户使用SSO登录URL时,都会生成新的ST。
- 在该用户已经超过10个浏览器标签的情况下,代ST的是源
问题浪费:
- 有没有一种方法来检查,如果用户已经登录,如果他是,绕过ST代并直接重定向到服务?
登录后我们遇到了无限循环的问题,但仅限于一位用户,并且仅在一天之内。由于TGT更新太多,循环引起归档日志的数据库问题。 我们可能通过使用内存票据注册表而不是数据库中的表达式来解决问题。 但是,如果有一个选项,当用户已经登录到应用程序时如何避免ST生成,这将是一个很好的解决方案。
我唯一发现的事情是限制登录失败,但这是另一种情况。
答
这是应用程序的问题。一旦用户登录并建立会话,您需要保持该会话,而不是每次都将流重定向回CAS。大多数cas客户自动执行此操作。只有在用户注销或应用程序会话列表或超时时才会重定向。
是的,的确如此,但是当您启动一个打开多个选项卡的浏览器时,它们全部以CAS url(登录页面)结尾。当用户登录其他选项卡时仍然保留CAS网址。这会导致每一个打开的标签生成ST代码。其他情况下,用户将从地址栏中复制CAS网址。我们的应用只在应用会话超时后重定向。 – Worsik