鱼在云中游 2018-10-15 10:20 采纳率: 28.6%
浏览 7036
已结题

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

假设目前有三个系统: 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条回答 默认 最新

  • 玄尺 2018-10-15 12:50
    关注

    我整理一下:
    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这种框架解决这种比较自由的功能不是很方便,除非能够把它的文档看的很溜。

    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧