<package name="defaults" extends="struts-default">

        <interceptors>
<interceptor name="login"
class="com.zqgame.interceptor.CheckLoginInterceptor" />
<interceptor-stack name="myinterceptor">
<interceptor-ref name="login">
<param name="excludeMethods">validateLogin</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<!-- 设置所有Action自动调用的拦截器堆栈 -->
<default-interceptor-ref name="myinterceptor"></default-interceptor-ref>
<global-results>
<result name="error">/err/exception.jsp</result>
<result name="message">/err/message.jsp</result>
</global-results> <global-exception-mappings>
<exception-mapping exception="java.lang.NullPointerException" result="error" />
<exception-mapping exception="java.lang.Exception" result="error" />
</global-exception-mappings>
</package>

action配置里面继承defaults:

<package name="login" namespace="/login" extends="defaults">
<action name="login_*" class="loginAction" method="{1}"> </action>
</package>

拦截器类实现:

public class CheckLoginInterceptor extends MethodFilterInterceptor {

    private Logger log = LoggerFactory.getLogger(CheckLoginInterceptor.class);

    private static final long serialVersionUID = 1L;

    @Override
protected String doIntercept(ActionInvocation actionInvocation) throws Exception {
// 确认Session中是否存在LOGIN
Map<String,Object> session = actionInvocation.getInvocationContext().getSession();
String login = (String) session.get(SysKey.Login_Key);
if (login != null && login.length() > 0) {
// login不为null,登录session有效。
return actionInvocation.invoke();
} else {
// 否则非法操作,返回LOGIN
log.debug("no login, forward login page!");
return PageCode.Login;
}
}
}

struts2 自定义拦截,防止非法操作的更多相关文章

  1. struts2自定义拦截器 设置session并跳转

    实例功能:当用户登陆后,session超时后则返回到登陆页面重新登陆. 为了更好的实现此功能我们先将session失效时间设置的小点,这里我们设置成1分钟 修改web.xml view plainco ...

  2. Struts2自定义拦截器Interceptor以及拦截器登录实例

    1.在Struts2自定义拦截器有三种方式: -->实现Interceptor接口 public class QLInterceptorAction implements Interceptor ...

  3. Struts2 自定义拦截器

    自定义拦截器(权限管理),包含了对ajax和表单请求的拦截 package com.interceptor; import java.io.IOException; import java.io.Pr ...

  4. 5、Struts2自定义拦截器

    一.拦截器相关知识 1.Struts2框架剖析 Holly版本生活案例: 影视公司(拍电影)    ActionMapper 传媒公司(包装明星) ActionMapping 明星           ...

  5. 12.Struts2自定义拦截器

    12.自定义拦截器        拦截器是Struts2的一个重要特性.因为Struts2的大多数核心功能都是通过拦截器实现的. 拦截器之所以称之为“拦截器”,是因为它可以拦截Action方法的执行, ...

  6. 【Java EE 学习 35 下】【struts2】【struts2文件上传】【struts2自定义拦截器】【struts2手动验证】

    一.struts2文件上传 1.上传文件的时候要求必须使得表单的enctype属性设置为multipart/form-data,把它的method属性设置为post 2.上传单个文件的时候需要在Act ...

  7. Struts2自定义拦截器

    1. 需求 自定义拦截器实现,用户登录的访问控制. 2. 定义拦截器类 public class LoginInterceptor extends AbstractInterceptor { @Ove ...

  8. struts2自定义拦截器与cookie整合实现用户免重复登入

    目的:测试开发时,为了减少用户登入这个繁琐的登入验证,就用struts2做了个简单的struts2拦截器,涉及到了与cookie整合,具体的看代码 结构(两部份)=struts2.xml+自定义拦截器 ...

  9. Struts2自定义拦截器处理全局异常

    今天在整理之前的项目的时候想着有的action层没有做异常处理,于是想着自定义拦截器处理一下未拦截的异常. 代码: package cn.xm.exam.action.safeHat; import ...

随机推荐

  1. 2016年如果还没有关注这些机器人公司,你就out了

    芯师爷语据 知名市场研究机构IDC发布报告称,预计到2019年,全球机器人及相关服务上的投入将达到1350亿美元,较2015年的710亿美元增长近一倍.报告称,机器人相关投资预计将以每年17%的速度增 ...

  2. C语言实现定积分求解方法

    求定积分的方法有很多种,下面是我总结的几种比较常用的方法. #include <stdio.h> #include <stdlib.h> #include <math.h ...

  3. Library Cache Lookup

    Libraey Cache Data Access library cache是关于SQL语句的SGA中的一系列的链表, library cache是通过访问一系列的hash buckets,实现使用 ...

  4. A WCF-WPF Chat Application

    http://www.codeproject.com/Articles/25261/A-WCF-WPF-Chat-Application

  5. WordPress Quick Paypal Payments插件HTML注入漏洞

    漏洞名称: WordPress Quick Paypal Payments插件HTML注入漏洞 CNNVD编号: CNNVD-201310-491 发布时间: 2013-10-22 更新时间: 201 ...

  6. Android4.0 -- UI控件之 Menu 菜单的的使用(一)

      这一讲开始我们来讲一下Android中菜单的使用方法,菜单是应用中的普通的组件,主要是提供友好和专注的用户体验,你可以在你的Activity中使用 Menu APIs 来提供用户动作和其他选项的操 ...

  7. 海量jQuery插件

    转自:http://blog.csdn.net/zzq58157383/article/details/6900142 提醒大家在使用的时候注意jQuery包的版本问题,最好是使用相同的版本,因为使用 ...

  8. Kia's Calculation(HDU 4267)

    Problem Description Doctor Ghee is teaching Kia how to calculate the sum of two integers. But Kia is ...

  9. Unity给力插件之ShaderForge(二)

    直接上实例: 一.自定义光照: 效果图(白色点光源照射时) 图片及参数 节点编辑 备注: 1.append为追加:两个一维数值合并为一个二维数值,一个二维数值与一个一维数值合并为一个三维数值,以此类推 ...

  10. 理解C++11正则表达式(2)

    今天有幸(2016/3/19)在上海参加了C++交流会,见到了梦寐已久想见的台湾C++大神老师侯捷,心情十分的激动.侯老师对C++理解的深刻,让人叹为观止.以为他教学的严谨,说话方式娓娓道来,听着非常 ...