struts2 interceptor

struts.xml configuration

<interceptors>
<interceptor name="AuthenticationInterception" class="com.vincent.faceLook.interceptor.AuthenticationInterception"/>
<interceptor-stack name="oaInterceptorStack">
<interceptor-ref name="AuthenticationInterception"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="oaInterceptorStack"/>

user-defined interceptor

package com.vincnet.jusns.interceptor;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.vincnet.jusns.entity.User;

public class AuthenticationInterception extends AbstractInterceptor {

    @Override
    public String intercept(ActionInvocation ai) throws Exception {
        // TODO Auto-generated method stub
        //String interceptInfo = "concent";
        String interceptInfo = null;
        User user = (User) ai.getInvocationContext().getSession()
                .get("currentUser");
        if (user != null) {
            ai.invoke();
        } else {
            String method = ai.getProxy().getMethod();
            if("login".equals(method)){
                ai.invoke();
            }else{
                interceptInfo = "user not login";
            }
        }
        return interceptInfo;
    }

}
原文地址:https://www.cnblogs.com/BrightMoon/p/3533347.html