配置拦截器 获取拦截器配置信息 加解密登录信息避免url地址明文显示

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<!-- 默认访问index页面 -->
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	<!-- 加载时 统一认证拦截器 Start -->
	<filter>
		<filter-name>TassSSOLoginFilter</filter-name>
		<filter-class>com.filter.TassSSOLoginFilter</filter-class>
		<!-- 应用编号 -->
		<init-param>
			<param-name>APPID</param-name>
			<param-value>53</param-value>
		</init-param>
		<!-- 应用权限开关 -->
		<init-param>
			<param-name>VAPP</param-name>
			<param-value>true</param-value>
		</init-param>
		<!-- 票据AD校验开关 -->
		<init-param>
			<param-name>VAD</param-name>
			<param-value>true</param-value>
		</init-param>
		
		<!-- 票据AD校验URL -->
		<!--init-param>
			<param-name>VADURL</param-name>
			<param-value>
				http://127.0.0.1:8080/bakgcjAppl/verifyad.jsp
			</param-value>
		</init-param-->
		<!-- 票据IP校验URL -->
		<!-- init-param>
			<param-name>VIPURL</param-name>
			<param-value>
				http://127.0.0.1:8080/bakgcjAppl/verifyip.jsp
			</param-value>
		</init-param -->
		<!-- 保存用户信息、应用信息到Session会话开关 -->
		<!-- init-param>
			<param-name>UFAPP</param-name>
			<param-value>true</param-value>
		</init-param-->
		<!-- 错误信息显示URL -->
		<init-param>
			<param-name>ERRURL</param-name>
			<param-value>
				http://127.0.0.1:8080/bakgcjAppl/EIP.jsp
			</param-value>
		</init-param>
	</filter>
	<filter-mapping>
	    <filter-name>TassSSOLoginFilter</filter-name>
	    <!-- 对login页面的请求进行地址拦截 -->
	    <url-pattern>/login.jsp</url-pattern>
	</filter-mapping>
	<!-- 统一认证拦截器 End -->
</web-app>


TassSSOLoginFilter

 

package com.filter;

import java.io.IOException;
import java.net.URLEncoder;

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.HttpServletResponse;

import com.tass.util.Base64;


public class TassSSOLoginFilter implements Filter{

	/* 应用编号 */
	public static String APPID;
	/* 应用权限开关 */
	private static boolean VAPP;
	/* 票据AD校验开关 */
	private static boolean VAD;
	/* 票据AD校验URL */
	private static String VADURL;
	/* 票据IP校验URL */
	private static String VIPURL;
	/* 保存用户信息、应用信息到Session会话开关 */
	private static boolean UFAPP;
	/* 错误信息显示URL */
	public static String ERRURL;

	public void destroy() {

	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		HttpServletResponse resp = (HttpServletResponse) response;
		/* 设置编码方式,并清除页面缓存*/
		resp.setContentType("text/html; charset=GBK");
		resp.setHeader("Pragma","No-cache");
		resp.setHeader("Cache-Control","no-cache");
		resp.setDateHeader("Expires", 0);

	   String username = request.getParameter("username");
	   if(username == null){
		   chain.doFilter(request, response);
	   }else{
		   //加密
		   if(username.equals("zhangsan")){
			   username = URLEncoder.encode("BASE64" + Base64.encode(username.getBytes()),"utf-8");
			   resp.sendRedirect("login.jsp?desc=" + username);
		   }else{
			   resp.sendRedirect(ERRURL);
		   }
		   
	   }
	   
	}

	/**
	 * @description 拦截器初始化
	 * 		用于获取拦截器配置信息
	 * @param filterConfig 拦截器配置
	 */
	public void init(FilterConfig filterConfig) throws ServletException {
		/* 应用编号 */
		APPID = filterConfig.getInitParameter("APPID");
		APPID = APPID==null?"":APPID;
		System.out.println("TassSSOLoginFilter APPID:"+APPID);

		/* 应用权限开关 */
		String vapp = filterConfig.getInitParameter("VAPP");
		VAPP = (vapp!=null)&&("true".equals(vapp));
		System.out.println("TassSSOLoginFilter VAPP:"+VAPP);

		/* 票据AD校验开关 */
		String vad = filterConfig.getInitParameter("VAD");
		VAD = (vad!=null)&&("true".equals(vad));
		System.out.println("TassSSOLoginFilter VAD:"+VAD);

		/* 票据AD校验URL */
		VADURL = filterConfig.getInitParameter("VADURL");
		VADURL = VADURL==null?"":VADURL;
		System.out.println("TassSSOLoginFilter VADURL:"+VADURL);

		/* 票据IP校验URL */
		VIPURL = filterConfig.getInitParameter("VIPURL");
		VIPURL = VIPURL==null?"":VIPURL;
		System.out.println("TassSSOLoginFilter VIPURL:"+VIPURL);

		/* 保存用户信息、应用信息到Session会话开关 */
		String ufApp = filterConfig.getInitParameter("UFAPP");
		UFAPP = (ufApp!=null)&&("true".equals(ufApp));
		System.out.println("TassSSOLoginFilter UFAPP:"+UFAPP);

		/* 错误信息显示URL */
		ERRURL = filterConfig.getInitParameter("ERRURL");
		ERRURL = ERRURL==null?"":ERRURL;
		System.out.println("TassSSOLoginFilter ERRURL 1:"+ERRURL);
//		ERRURL += "?appid="+APPID;
//		System.out.println("TassSSOLoginFilter ERRURL 2:"+ERRURL);
	}
}

 

index.jsp

 <a href="login.jsp?username=zhangsan">登录</a>



 

url:

http://127.0.0.1:8080/bakgcjAppl/login.jsp?desc=BASE64emhhbmdzYW4%3D


 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值