⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logininterceptor.java

📁 在线读书交流平台
💻 JAVA
字号:
package com.olr.util;
import java.util.Map;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;

import com.olr.beans.User;
import com.olr.dao.UserDAO;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class LoginInterceptor extends AbstractInterceptor{


	
    private UserDAO userDao;  
	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
        ActionContext actionContext=invocation.getInvocationContext();
        HttpServletRequest request=(HttpServletRequest) actionContext.get("StrutsStatics.HTTP_REQUEST");
        Map session = actionContext.getSession();  

        if(session!=null&&session.get("username")!=null){
        	return invocation.invoke();
        }
        if(request==null){
        	setGoingToURL(session, invocation);  
            return "requireLogin"; 
        }
        Cookie[] cookies = request.getCookies();  
        if (cookies!=null) {
        	
        	for(Cookie cookie:cookies){
        		if(Constants.COOKIE_REMEMBERME_KEY.equals(cookie.getName())){
        			String value=cookie.getValue();
        			if(value!=null&&!value.equals("")){
        				String[] split=value.split(":");
        				String username=split[0];
        				String password=split[1];
        				int power=Integer.parseInt(split[2]);
        				if(userDao.isValid(username, password, power)){
        					 session.put(Constants.USER_SESSION_KEY, username);  
        				}  
                        session.put(Constants.USER_SESSION_KEY, null);  
        			}else{
        				setGoingToURL(session, invocation);  
                        return "requireLogin";  
        			}
        		  
        		}
        		 return invocation.invoke();
        	}
        }
        setGoingToURL(session, invocation);  
        return "requireLogin"; 
	}
	private void setGoingToURL(Map session, ActionInvocation invocation) {
		 String url = "";  
	        String namespace = invocation.getProxy().getNamespace();  
	        if (namespace!=null&&!namespace.equals("") && !namespace.equals("/")){  
	            url = url + namespace;  
	        }  
	        String actionName = invocation.getProxy().getActionName();  
	        if (!actionName.equals("")&&actionName!=null){  
	            url = url + "/" + actionName ;  
	        }  
	        String methodName=invocation.getProxy().getMethod();
	        if (!methodName.equals("")&&methodName!=null){  
	            url = url + "!" + methodName + ".do";  
	        }  
	        session.put(Constants.GOING_TO_URL_KEY, url);  
	}
	public UserDAO getUserDao() {
		return userDao;
	}
	public void setUserDao(UserDAO userDao) {
		this.userDao = userDao;
	}
	

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -