首页 > 解决方案 > 成功登录时 CAS 重定向到 URL

问题描述

这里描述了一种解决方案,通过使用AccessStrategy.

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

如果我们想根据条件重定向用户,比如通过向 webflow 注入操作,我们如何操纵返回 URL 以将其更改为自定义 URL?

WebUtils.getService(requestContext)包括 source/originalUrl 的 getter,但没有明显的方法可以通过操作 bean 设置/操作所述值。

ps 目前使用 CAS 版本 5.3.x

标签: javasingle-sign-oncas

解决方案


来自 CAS 的普通Web 应用程序的响应是使用WebApplicationServiceResponseBuilder.

如果您检查此块,您会发现最终响应是使用WebApplicationServiceResponseBuilderbean 构建的。只有在上下文中尚未找到同名的现有 bean 时,才会有条件地创建它。@Configuration所以要提供你自己的,你只需要使用你自己的类注册一个同名的bean 。

@Bean
public ResponseBuilder<WebApplicationService> webApplicationServiceResponseBuilder() {
    return new MyOwnWebApplicationServiceResponseBuilder(...);
}

...然后继续设计你自己的MyOwnWebApplicationServiceResponseBuilder,甚至可能通过扩展WebApplicationServiceResponseBuilder和覆盖你需要的东西来有条件地构建最终的重定向逻辑。

要了解@Configuration课程的一般运作方式,您可以:


推荐阅读