gpt4 book ai didi

java - 登录后检索 CAS 票据

转载 作者:行者123 更新时间:2023-12-01 14:50:52 26 4
gpt4 key购买 nike

我有一个casified Spring应用程序(带有过滤器并且运行正常)。

此应用程序必须通过 REST 查询多个外部服务(Bonita、W4 等)。这些其他服务也被分类。

好的。

现在,我需要从 Spring 应用程序恢复 CAS TICKET 来生成这些其他服务的代理票证,但我不知道如何获取票证。我尝试使用以下 URL 请求这些服务的票证:

https://[cas-service]/login?service=[service]&gateway=true

此命令返回一个票证(通过重定向),但 Spring 应用程序的 CAS 过滤器拦截此重定向,我无法获取返回的参数。

http://[service-url]?ticket=ST-....  

重定向至

http://[service-url]

如何检索票证以验证当前用户是否可以使用其他服务?

谢谢!!

PD:抱歉我的英语水平有限......:)

最佳答案

SecurityContext ctx=SecurityContextHolder.getContext();
CasAuthenticationToken casToken=(CasAuthenticationToken) ctx.getAuthentication();
Assertion assertion=casToken.getAssertion();
user_fullName=(String) assertion.getAttributes().get("FullName");

从安全上下文中,您可以获取经过身份验证的 CAS token 对象。其中有 SAML 响应。 CAS token 对象包含 SAML 响应的详细信息。您可以查询 CAS token 对象来获取 ASSERTION,然后您可以在您的应用程序中使用它。

关于java - 登录后检索 CAS 票据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14870287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com