zoukankan      html  css  js  c++  java
  • SSH实现登陆拦截器

    /**
     * 登录验证拦截器
     *
     */
    @SuppressWarnings("serial")
    public class LoginInteceptor implements Interceptor {
    
        @Override
        public void destroy() {
            // TODO Auto-generated method stub
    
        }
    
        @Override
        public void init() {
            // TODO Auto-generated method stub
    
        }
    
        /**每次访问Action类之前,先执行intercept方法*/
        @Override
        public String intercept(ActionInvocation invocation) throws Exception {
            //获取当前访问Action的URL
            String actionName = invocation.getProxy().getActionName();
            //如果当前访问Action的URL是"loginAction_login"(根据自己写的来定)表示此时还没有Sesion,需要放行
            if(!"loginAction_login".equals(actionName)){
                //从Session中获取当前用户对象
                Employee employee = SessionContext.get();
                //如果Session不存在,跳转到登录页面
                if(employee==null){
                    return "login";//这个login已经在struts.xml的全局结果视图中配置了
                }
            }
            //放行,访问Action类中方法
            return invocation.invoke();
            
        }
    
    }

    struts.xml中相关配置:

    <!-- 拦截器配置 -->
            <interceptors>
                <!-- 定义了一个用于拦截器登录的拦截器 -->
                <interceptor name="loginInterceptor" class="cn.itcast.ssh.utils.LoginInteceptor"></interceptor>
                <!-- 定义一个拦截器栈 -->
                <interceptor-stack name="systemStack">
                    <interceptor-ref name="defaultStack" />
                    <interceptor-ref name="loginInterceptor" />
                </interceptor-stack>
            </interceptors>
        
              <!-- 定义系统默认拦截器 全局 -->
            <default-interceptor-ref name="systemStack" /> 
            <!-- 全局结果视图 -->
            <global-results>
                <result name="login" type="redirect">
                    login.jsp
                </result>
            </global-results>

    就这样拦截器就实现了

  • 相关阅读:
    Python导学基础(三)输入、格式化输出、基本运算符
    题解-FJOI2014 树的重心
    题解-CF1307G Cow and Exercise
    题解-SHOI2005 树的双中心
    笔记-CF643E Bear and Destroying Subtrees
    题解-CF643G Choosing Ads
    扩展Lucas
    线性筛筛积性函数
    整除分块(数论)
    2019暑假集训DAY17(problem2.b)(杜教筛)
  • 原文地址:https://www.cnblogs.com/ITDreamer/p/9860354.html
Copyright © 2011-2022 走看看