cas后端返回html直接跳转,CAS验证成功后不能跳转到登陆成功的主页面解决办法...

博客讲述了在部署CAS服务后,一个应用在完成CAS登录验证后,未能正确跳转到主页面,而是回到了登录界面。作者提供了应用的web.xml配置以及自定义过滤器casClientFilter的部分代码,并寻求解决方案。初步推测可能是URL配置错误或目标应用未正常启动导致的问题。
摘要由CSDN通过智能技术生成

CAS验证成功后不能跳转到登陆成功的主页面

现在部署了CAS,有一个应用,下载输入应用的URL可以正确跳转到CAS服务的登陆界面,登陆验证通过后页面却跳转到了应用的登陆界面,不能直接进入登陆成功的主页面!

应用的web.xml如下

CASFilter

org.jasig.cas.client.authentication.AuthenticationFilter

casServerLoginUrl

https://TP_1010000110011000:8443/cas/login

serverName

http://localhost:8080

CASFilter

/*

CAS Validation Filter

org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter

casServerUrlPrefix

https://TP_1010000110011000:8443/cas

serverName

http://localhost:8080

CAS Validation Filter

/*

CAS HttpServletRequest Wrapper Filter

org.jasig.cas.client.util.HttpServletRequestWrapperFilter

CAS HttpServletRequest Wrapper Filter

/*

AutoSetUserAdapterFilter

AutoSetUserAdapterFilter

com.cdt.cas.client.casClientFilter

AutoSetUserAdapterFilter

/*

casClientFilter的代码如下:

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,

FilterChain chain) throws IOException, ServletException {

Date startTime = new Date();

System.out.println("CasClient开始时间"+startTime.getTime());

final HttpServletRequest request = (HttpServletRequest) servletRequest;

final HttpServletResponse response = (HttpServletResponse) servletResponse;

final HttpSession session = request.getSession(false);

final Assertion assertion = (Assertion) (session == null ? request

.getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION) : session

.getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION));

String username = assertion == null ? null : assertion.getPrincipal().getName();

//_const_cas_assertion_是CAS中存放登录用户名的session标志

Object object = request.getSession().getAttribute("_const_cas_assertion_");

String url = request.getRequestURL().toString();

if(object != null && username != null) {

//存放用户类型

session.setAttribute("userType", "2");

//设置cookie

Cookie cookie = new Cookie("username",username);

int maxAge = 60*60*24*365;//cookie存活时间1年

cookie.setMaxAge(maxAge);

response.addCookie(cookie);

}

if (chain != null) {

chain.doFilter(request, response);

}

Date endTime = new Date();

System.out.println("CasClient结束时间"+endTime.getTime());

}

请教各位高手!这个到底怎么弄啊!现在一直跳转到登陆页面!没有进入到登陆成功的页面啊!

------解决思路----------------------

是不是跳转的url不正确 或者新页面所在的项目没启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值