成功登录后将CAS重定向到URL

时间:2019-02-15 14:18:31

标签: java single-sign-on cas

Here描述了一种通过使用AccessStrategy根据条件处理重定向到自定义URL的解决方案。

但是,这是未经授权的登录逻辑流程的一部分,因此导致仍未登录的用户到达我们重定向到的最终URL。 (通过getUnauthorizedUrl

如果我们要基于条件重定向用户,例如通过向Webflow注入动作,我们如何处理将返回URL更改为自定义URL?

WebUtils.getService(requestContext)包括source / originalUrl的获取器,但没有通过动作bean设置/操纵所述值的明显方法。

p.s。当前使用的是CAS版本5.3.x

1 个答案:

答案 0 :(得分:1)

CAS对普通 Web应用程序的响应是使用<script src="build/polyfills.js"></script>构建的。

如果检查this block,您将发现最终响应是使用 <script src="cordova.js"></script> bean构建的。如果在上下文中尚未找到同名的现有bean,则仅有条件地创建它。因此,要提供您自己的,只需使用自己的WebApplicationServiceResponseBuilder类注册一个具有相同名称的bean。

WebApplicationServiceResponseBuilder

...然后继续设计自己的@Configuration,甚至可以扩展@Bean public ResponseBuilder<WebApplicationService> webApplicationServiceResponseBuilder() { return new MyOwnWebApplicationServiceResponseBuilder(...); } 并在必要时覆盖需要的条件以有条件地构建最终重定向逻辑。

要了解MyOwnWebApplicationServiceResponseBuilder类的总体工作原理,您可以: