• java接口,避开登录方法-


        @Override
        public String intercept(ActionInvocation invocation) throws Exception {
            ActionContext actionContext = invocation.getInvocationContext();     
            Map<String,Object> session = actionContext.getSession();
            HttpServletRequest request= (HttpServletRequest) actionContext.get(StrutsStatics.HTTP_REQUEST);
            String methodName = invocation.getProxy().getMethod();
            String actionName = actionContext.getName();
            UserVo userVo=(UserVo)session.get("userVo");
            //如果是登录面,不检查session
            if((actionName.equals("userAjax") && methodName.equals("login")) 
                    || (actionName.equals("danweiAjax") && methodName.equals("getDanWeiList")) 
                    || (actionName.equals("userAjax") && methodName.equals("checkUserExist"))
                    || (actionName.equals("userAjax") && methodName.equals("checkUserExist_ganbuzhuce"))
                    || (actionName.equals("userAjax") && methodName.equals("loadMessage"))
                   || (actionName.equals("danweiAjax") && methodName.equals("addGanbuzhuce")) 
                    ){
                return invocation.invoke();
            }
            
            if(userVo==null){
                request.setAttribute("errorMessage", "登录超时,请重新登录!");
                return "error";
            }else{
                return invocation.invoke();
            }
        }

    package com.dafu.util;
    
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.apache.struts2.StrutsStatics;
    
    import com.dafu.model.User;
    import com.dafu.vo.UserVo;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionInvocation;
    import com.opensymphony.xwork2.interceptor.Interceptor;
    
    public class CheckUserInterceptor implements Interceptor {
    
        /**
         * 
         */
        private static final long serialVersionUID = -4295779087746721183L;
    
        @Override
        public void destroy() {
    
        }
    
        @Override
        public void init() {
    
        }
    
        @Override
        public String intercept(ActionInvocation invocation) throws Exception {
            ActionContext actionContext = invocation.getInvocationContext();     
            Map<String,Object> session = actionContext.getSession();
            HttpServletRequest request= (HttpServletRequest) actionContext.get(StrutsStatics.HTTP_REQUEST);
            String methodName = invocation.getProxy().getMethod();
            String actionName = actionContext.getName();
            UserVo userVo=(UserVo)session.get("userVo");
            //如果是登录面,不检查session
            if((actionName.equals("userAjax") && methodName.equals("login")) 
                    || (actionName.equals("danweiAjax") && methodName.equals("getDanWeiList")) 
                    || (actionName.equals("userAjax") && methodName.equals("checkUserExist"))
                    || (actionName.equals("userAjax") && methodName.equals("checkUserExist_ganbuzhuce"))
                    || (actionName.equals("userAjax") && methodName.equals("loadMessage"))
                   || (actionName.equals("danweiAjax") && methodName.equals("addGanbuzhuce")) 
                    ){
                return invocation.invoke();
            }
            
            if(userVo==null){
                request.setAttribute("errorMessage", "登录超时,请重新登录!");
                return "error";
            }else{
                return invocation.invoke();
            }
        }
    }
  • 相关阅读:
    How to get the IIS root path in other application.
    Web.UI.Controls与页面事件的冲突问题。
    分析在服务器上设置计时器的问题。
    首次感觉我的电脑过时了。。。。。。。。郁闷。
    Google Logos
    2005年的最后一天
    TreeView的几个使用小技
    浅淡反射问题
    The restricted headers are:
    在服务器上用Timer遇到的小问题。。。。
  • 原文地址:https://www.cnblogs.com/1ming/p/10195874.html
Copyright © 2020-2023  润新知