JAVA CAS 单点登录 登录成功后 跳转指定URL的问题 40C

假设目前有三个系统: cas app1 app2
当访问app1时大致请求流程为
app1-cas-app1
需实现:
app1-cas-app2
访问app1 ,重定向到cas认证, 认证成功后重定向到app2 (app2类似于门户系统) 该操作只在登录时执行

目前 CAS 默认是重定向回app1
app1系统使用Spring Security集成 CAS 可通过 SecurityConfig 实现

@Bean
public AuthenticationSuccessHandler authenticationSuccessHandler() {
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
successHandler.setDefaultTargetUrl(successUrl);
return successHandler;
}

但是现在另有子系统app2 没有用 Security作为安全框架 应该怎么配置?
如果我在app1的web.xml中配置
图片说明
这样会导致app1的所有请求都会跳转到app2中
请各路神仙不吝赐教

1个回答

我整理一下:
CAS作为单点登录系统,唯一的作用就是验证权限,然后将认证消息保存到gobal session中。
你第一个系统是app1,先判断一下是否是登录状态,如果没有登录状态跳到cas认证,认证通过之后将标志位改成已经登录状态。现在的问题是app1跳到cas,然后跳到app2。
这个功能应该这么做:
1、将需要app1 -> cas -> app2的链接,app1发送给cas的请求需要这样:http://cas?redictPage=app2/a/b/c
2、cas拿到链接之后首先验证密码,check通过之后再判断需要跳转的地址:redictPage,交给cas自己跳转到app2/a/b/c
注意:
1、app2/a/b/c这个需要使用base64编码或者采用urlEncode一下
2、如果功能不是很复杂,可以自己实现这种跳转功能,借助spring security这种框架解决这种比较自由的功能不是很方便,除非能够把它的文档看的很溜。

qq_26626375
鱼在云中游 回复weixin_37893887: 我是说这个url具体在哪里配置? 我就差把cas官方文档全部滤一遍了. 我单独去找了 cas-client的配置说明 没有发现哪里可以做自己指定跳转的属性或者方法
接近 2 年之前 回复
weixin_37893887
玄尺 回复qq_26626375: 直接重定向到url,这个url格式需要自己设计。cas应该是一个单点登录系统,登录信息保存在全局session,session可以被app2共享
接近 2 年之前 回复
qq_26626375
鱼在云中游 1. aap1 发送请求的格式 怎么自己编写? 2. 通过app1验证成功的票据可以直接使用到app2上面吗? 不是还缺少一个与cas认证的环节吗
接近 2 年之前 回复
qq_26626375
鱼在云中游 您好! 非常感谢您的帮助, 有几个问题请教
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐