struts2拦截器验证登陆状态
2014-04-15 13:46
323 查看
<interceptors> <!--定义一个名为authority的拦截器--> <interceptor class="com.***.rights.RightInterceptor" name="rightInterceptor"/> <!--定义一个包含权限检查的拦截器栈--> <interceptor-stack name="mydefault"> <!--配置内建默认拦截器--> <interceptor-ref name="defaultStack"/> <!--配置自定义的拦截器--> <interceptor-ref name="rightInterceptor"/> </interceptor-stack> </interceptors> <default-interceptor-ref name="mydefault" /> <!--定义全局Result--> <global-results> <result name="login">Login.jsp</result> <result name="error">/error.jsp </result> </global-results>
import java.util.HashMap; import java.util.Map; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; import com.opensymphony.xwork2.ActionContext; public class RightInterceptor extends AbstractInterceptor { @Override public String intercept(ActionInvocation invocation) throws Exception { //System.out.println("拦截器开始验证"); try { ActionContext actionContext = ActionContext.getContext(); Map<String,Object> session = actionContext.getSession(); String user=session.get("usercode").toString(); //当前用户session无效且访问的action不是登录action时,执行拦截,跳转 if((user==null || user.equals("")) && !invocation.getAction().getClass().getName().equals("登录action")) { return Action.LOGIN; } } catch(Exception e) { e.printStackTrace(); return Action.LOGIN; } //System.out.println("拦截器通过验证"); return invocation.invoke();//执行访问的action } }
相关文章推荐
- spring事物管理
- spring的事物配置方式
- java 重定向和转发的区别
- Eclipse中 struts2 + spring3 + mybatis3 环境搭建
- java算法每日一练
- 【Spring】IOC核心源码学习:容器初始化过程
- 插入排序
- java自定义类型参数的方法时出现NoSuchMethodException
- myeclipse所有版本下载
- java中的return 语句和finally的执行顺序关系
- java保留两位小数问题
- JAVA虚拟机中的内存:栈和堆
- Ubuntu 12.04下安装sun-java6-jdk/jre
- eclipse如何绑定jre
- Eclipse高亮设置和颜色选择
- 。第7周作业——JMF(Java多媒体框架)的应用之音频播放与视频播放
- Java函数传递引用和值的区别
- eclipse中的.project 和 .classpath文件的具体作用
- JNI的替代者—使用JNA访问Java外部函数接口
- MyEclipse设置注释格式(转载)