| 
					
				 | 
			
			
				@@ -2,11 +2,13 @@ package com.xxl.job.admin.controller.interceptor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.xxl.job.admin.controller.annotation.PermessionLimit;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.xxl.job.admin.core.util.CookieUtil;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.xxl.job.admin.core.util.PropertiesUtil;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.method.HandlerMethod;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.servlet.http.HttpServletRequest;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.servlet.http.HttpServletResponse;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.math.BigInteger;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 权限拦截, 简易版
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15,10 +17,16 @@ import javax.servlet.http.HttpServletResponse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class PermissionInterceptor extends HandlerInterceptorAdapter {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public static final String LOGIN_IDENTITY_KEY = "LOGIN_IDENTITY";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public static final String LOGIN_IDENTITY_VAL = "sdf!121sdf$78sd!8";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public static final String LOGIN_IDENTITY_TOKEN;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String username = PropertiesUtil.getString("xxl.job.login.username");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String password = PropertiesUtil.getString("xxl.job.login.password");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String temp = username + "_" + password;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LOGIN_IDENTITY_TOKEN = new BigInteger(1, temp.getBytes()).toString(16);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public static boolean login(HttpServletResponse response, boolean ifRemember){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		CookieUtil.set(response, LOGIN_IDENTITY_KEY, LOGIN_IDENTITY_VAL, ifRemember);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		CookieUtil.set(response, LOGIN_IDENTITY_KEY, LOGIN_IDENTITY_TOKEN, ifRemember);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public static void logout(HttpServletRequest request, HttpServletResponse response){
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26,7 +34,7 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public static boolean ifLogin(HttpServletRequest request){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		String indentityInfo = CookieUtil.getValue(request, LOGIN_IDENTITY_KEY);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if (indentityInfo==null || !LOGIN_IDENTITY_VAL.equals(indentityInfo.trim())) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (indentityInfo==null || !LOGIN_IDENTITY_TOKEN.equals(indentityInfo.trim())) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return true;
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43,7 +51,9 @@ public class PermissionInterceptor extends HandlerInterceptorAdapter { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			HandlerMethod method = (HandlerMethod)handler;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			PermessionLimit permission = method.getMethodAnnotation(PermessionLimit.class);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (permission == null || permission.limit()) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				throw new Exception("登陆失效");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				response.sendRedirect("/toLogin");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//request.getRequestDispatcher("/toLogin").forward(request, response);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		
 
			 |