cas4.2.7学习(七)cas server端登陆后根据url自定义跳转

本文介绍如何在CAS单点登录系统中,通过传递客户端URL参数至后台,实现在登录成功后直接跳转至指定客户端。文章详细解释了CAS默认跳转机制,并提供了修改流程的具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先说明一下,正常的单点登陆应该都是访问客户端,然后跳转到cas服务器验证登陆之后,返回到客户端原来的地址,

这个是通过参数service来实现的,我们返回没有客户端跳转到cas server登陆页的时候地址栏里都会跟有这个参数。这个参数就是控制重定向的。

但是如果我们直接访问server端登陆,它的这个参数是空的,所以cas给了一个默认的页面 casGenericSuccessView.jsp 所以登陆之后就跳转到这里了。

但是实际需求是通过cas server 登陆之后直接跳转到摸一个客户端,解决办法:

将要跳转的客户端url当作参数传到后台(参考https://mp.youkuaiyun.com/postedit/83744386),然后修改登陆成功之后的流程,让它做跳转即可:

修改前:

 <end-state id="viewGenericLoginSuccess" view="casGenericSuccessView">
        <on-entry>
            <evaluate expression="genericSuccessViewAction.getAuthenticationPrincipal(flowScope.ticketGrantingTicketId)"
                      result="requestScope.principal"
                      result-type="org.jasig.cas.authentication.principal.Principal"/>
        </on-entry>
    </end-state>

修改后:

 <end-state id="viewGenericLoginSuccess" view="externalRedirect:#{flowScope.credential.sys_url}" />

flowScope.credential.sys_url就是我们要跳转的客户端url

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值