CAS Client获取ticket

本文介绍了如何在CAS客户端中,通过添加一个优先级高于CAS过滤器的自定义过滤器,来捕获并处理初次从CAS服务器跳转时地址栏携带的ticket参数。

       

        因为ticket只有第一次从cas server跳转过来后地址栏携带ticket参数,后被 cas client 去掉了,所以加一个优先级高于CAS filter的 filter 来获取ticket.

 

<filter>
        <filter-name>FetchCasTicketFilter</filter-name>
        <filter-class>com.xindun.cims.filter.FetchCasTicketFilter</filter-class>
    </filter>
  <filter-mapping>
        <filter-name>FetchCasTicketFilter</filter-name>
        <url-pattern>/*</url-pattern>
  </filter-mapping>

 

package com.xindun.cims.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;



public class FetchCasTicketFilter implements Filter {


 
 
 @Override
 public void destroy() {
  // TODO Auto-generated method stub

 }

 @Override
 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
   throws IOException, ServletException {
  HttpServletRequest request = (HttpServletRequest) req;
  String queryString = request.getQueryString();
  if(queryString != null && queryString.contains("ticket")){
   request.getSession().setAttribute("ticket_", queryString.substring(queryString.indexOf("=") + 1));
  }
  chain.doFilter(req, res);
 }

 @Override
 public void init(FilterConfig filterConfig) throws ServletException {
  
 }
 

 
}

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值