• struts2之登陆拦截


    针对登录拦截功能,我们需要设置拦截哪些方法和不拦截哪些方法

    action

    action类中,处理登录时,将用户、密码绑定到session

    ActionContext ac = ActionContext.getContext();
    Map<String, Object> session1 = ac.getSession();
    session1.put("u", user);

    LoginIntercrptor.java

    public class LoginIntercrptor extends MethodFilterInterceptor{

    @Override
    protected String doIntercept(ActionInvocation ai) throws Exception {
    // TODO Auto-generated method stub
    ActionContext actionContext = ActionContext.getContext();
    Map<String, Object> session = actionContext.getSession();
    User s = (User) session.get("u");
    System.err.println("s"+s);
    if (s==null) {
    return "relogin";
    } else {
    return ai.invoke();
    }

    }

    }

    struts.xml

    在struts.xml文件中配置方法拦截器
    设置拦截的方法
    <param name="includeMethods"></param>
    或者设置不拦截的方法(二者选其一)
    <param name="excludeMethods"></param>

    添加全局拦截器
    <default-intercepter-ref></default-intercepter-ref>
    还要添加全局返回页面:用于强制登录(即拦截器类中如果从session里面获取的是空,则return "relogin")
    <global-results>
    <result name="relogin">
    /login.jsp
    </result>
    </global-results>

    <!-- 配置拦截器 -->
    <interceptors>
    <interceptor name="loginInterceptor" class="com.oak.interceptor.LoginIntercrptor"></interceptor>
    <!-- 配置拦截器栈 -->
    <interceptor-stack name="mysql">
    <!-- 系统拦截器栈,,name值是固定的 -->
    <interceptor-ref name="defaultStack"></interceptor-ref>
    <interceptor-ref name="loginInterceptor">
    <param name="excludeMethods">toLogin,login</param>
    </interceptor-ref>
    </interceptor-stack>
    </interceptors>

    <!-- 设置全局拦截器 -->
    <default-interceptor-ref name="mysql"></default-interceptor-ref>
    <!-- 公共跳转页
    global-results一般和全局拦截器(比如方法拦截器)
    搭配使用 -->
    <global-results>
    <result name="relogin">
    /login.jsp
    </result>
    </global-results>
    <action name="toLogin" class="com.oak.action.UserAction" method="toLogin">
    <result>
    /login.jsp
    </result>
    </action>
    <action name="logindemo" class="com.oak.action.UserAction" method="login">
    <result name="success">
    /admin_index.jsp
    </result>
    <result name="error">

    /login.jsp
    </result>

  • 相关阅读:
    通过Http接口及SolrNet 两种方法基于Solr5.5.1 实现CURD
    Solr5.5.1 IK中文分词配置与使用
    windows环境tomcat8配置Solr5.5.1
    初谈SQL Server逻辑读、物理读、预读
    C#6新特性,让你的代码更干净
    PJAX初体验(主要是利用HTML5 新增API pushState和replaceState+AJAX)
    js实现String.Fomat
    iOS 画虚线
    UIFont字体大全
    iOS 里RGB 配色 UIColor colorWithRed
  • 原文地址:https://www.cnblogs.com/love1/p/7777804.html
Copyright © 2020-2023  润新知