struts中用拦截器实现登录验证功能AuthorizationInterceptor

简介:

 

用拦截器实现登录验证功能AuthorizationInterceptor

 

package com.interceptor;  
 
import com.opensymphony.xwork2.ActionInvocation;  
import com.opensymphony.xwork2.interceptor.*;  
import com.opensymphony.xwork2.*;  
import java.util.*;  


public class AuthorizationInterceptor extends AbstractInterceptor {  
    private String ignoreActions;  

    @Override 
    public String intercept(ActionInvocation invocation) throws Exception {  
        ActionContext ctx = invocation.getInvocationContext();  
 
        Map session = ctx.getSession();  
        String user = (String) session.get("username");  
 
        boolean ignore = false;  
        String currentAction = invocation.getProxy().getActionName();  
        String[] actions = ignoreActions.split(",");  
 
        for (String action : actions) {  
            if (currentAction.matches(action.trim())) {  
                ignore = true;  
                break;  
            }  
        }  
 
        if (user != null || ignore == true) { 
            return invocation.invoke();  
        } else {  
            return Action.LOGIN;  
        }  
    }
 
    public String getIgnoreActios() {  
        return ignoreActions;  
    }  
  
    public void setIgnoreActions(String ignoreActions) {  
        this.ignoreActions = ignoreActions;  
    }  
}

 

在struts.xml文件里面配置该拦截器

<interceptors>   
    <interceptor name="authorization" class="com.interceptor.AuthorizationInterceptor" />   
    <interceptor-stack name="myStack">   
        <interceptor-ref name="authorization">   
            <param name="ignoreActions"> validate_code,register.*,.*login.*,upload,connector</param>   
        </interceptor-ref>
        <interceptor-ref name="defaultStack" />  
    </interceptor-stack>   
</interceptors>   
<default-interceptor-ref name="myStack"/>

原帖地址:http://www.cnblogs.com/jobscn/archive/2011/11/22/2258343.html

 

 

目录
相关文章
SpringMVC自定义注解验证登陆拦截
这里业务场景需要,所有的请求都需要登录验证。个别通用业务不需要登录拦截。注解方式替代原有的if判断。
SpringMVC自定义注解验证登陆拦截
|
XML 存储 前端开发
struts2中的拦截器Interceptor,拦截器栈,Token口令拦截
struts2中的拦截器Interceptor,拦截器栈,Token口令拦截
119 0
struts2中的拦截器Interceptor,拦截器栈,Token口令拦截
|
前端开发 Java 数据安全/隐私保护
SpringMVC拦截器实现登录权限控制
SpringMVC的处理器拦截器,类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。 依赖于web框架,在实现上基于Java的反射机制,属于面向切面编程(AOP)的一种运用。由于拦截器是基于 web框架的调用,因此可以使用Spring的依赖注入(DI)进行一些业务操作,同时一个拦截器实例在一个 controller生命周期之内可以多次调用。
|
Java 数据安全/隐私保护 Spring
动态验签与用户权限拦截(Spring HandlerInterceptor)
动态验签与用户权限拦截(Spring HandlerInterceptor)
动态验签与用户权限拦截(Spring HandlerInterceptor)
SSM项目使用拦截器实现登录验证功能
本文讲解SSM项目使用拦截器实现登录验证功能,希望对大家有所帮助。
163 0
SSM项目使用拦截器实现登录验证功能
|
Java
Struts拦截器解析
Struts拦截器解析
83 0
|
Java 数据安全/隐私保护 容器
Struts2拦截器的简单应用,登录权限拦截器及与过滤器的区别(八)下
Struts2拦截器的简单应用,登录权限拦截器及与过滤器的区别(八)
145 0
Struts2拦截器的简单应用,登录权限拦截器及与过滤器的区别(八)下
Struts2拦截器的简单应用,登录权限拦截器及与过滤器的区别(八)上
Struts2拦截器的简单应用,登录权限拦截器及与过滤器的区别(八)
132 0
Struts2拦截器的简单应用,登录权限拦截器及与过滤器的区别(八)上
shiro加入拦截器注意事项
shiro加入拦截器注意事项
109 0
shiro加入拦截器注意事项
|
前端开发 Java Spring
springMVC使用拦截器检查用户登录
参考文章 编写拦截器类 package cultivate_web.interceptor; import javax.servlet.http.HttpServletRequest; import javax.
1229 0