struct2 阻碍所有没有登录的用户,强行转到登录界面AuthorizationIntercept

    添加时间:2013-8-9 点击量:

    package com.sise.action;
    

    import java.util.Map;

    import com.opensymphony.xwork2.Action;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionInvocation;
    import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

    public class AuthorizationInterceptor extends AbstractInterceptor {
    private String ignoreActions;

    // ignoreActions属性的getter办法
    public String getIgnoreActios() {
    return ignoreActions;
    }
    // ignoreActions属性的setter办法
    public void setIgnoreActions(String ignoreActions) {
    this.ignoreActions = ignoreActions;
    }
    @Override
    public String intercept(ActionInvocation invocation) throws Exception {
    ActionContext ctx = invocation.getInvocationContext();
    Map session = ctx.getSession();
    Object user = session.get(currentUserId);
    boolean ignore = false;
    if (user != null || ignore == true) {
    return invocation.invoke();
    } else {
    return Action.LOGIN;
    }
    }
    }


      struct.xml设备文件



    <?xml version=1.0 encoding=UTF-8 ?>
    
    <!DOCTYPE struts PUBLIC -//Apache Software Foundation//DTD Struts Configuration 2.1//EN http://struts.apache.org/dtds/struts-2.1.dtd>
    <struts>
    <package name=default extends=struts-default>
    <interceptors>
    <interceptor name=loginInterceptor
    class=com.sise.action.AuthorizationInterceptor></interceptor>
    <interceptor-stack name=loginDefaultStack>
    <interceptor-ref name=loginInterceptor>
    <param name=ignoreActions>
    validate_code,register.,.login.,upload,connector</param>
    </interceptor-ref>
    <interceptor-ref name=defaultStack></interceptor-ref>
    </interceptor-stack>
    </interceptors>
    <default-interceptor-ref name=loginDefaultStack></default-interceptor-ref>
    <global-results>
    <result name=login type=redirect>/login.html</result>
    </global-results>
    <action name=index class=com.sise.action.IndexAction
    method=index>
    <result name=success>/index.html</result>
    </action>
    <action name=login class=com.sise.action.LoginAction
    method=login>
    <result type=redirectAction>index</result>
    <result name=login >/login.html</result>
    <interceptor-ref name=defaultStack></interceptor-ref>
    </action>
    </package>
    </struts>


      

    容易发怒的意思就是: 别人做了蠢事, 然后我们代替他们, 表现出笨蛋的样子。—— 蔡康永
    分享到: