spring实现拦截器,防止用户名非法登录

来源:互联网 发布:php数据加密技术 编辑:程序博客网 时间:2024/06/11 07:35
</pre><p>首先web.cml中配置</p><p><pre name="code" class="html"><pre name="code" class="java"><span style="white-space:pre"></span><!-- struts配置   --><filter>   <span style="white-space:pre"></span><filter-name>struts2</filter-name>  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  </filter>  <filter-mapping>  <filter-name>struts2</filter-name>  <url-pattern>*.do</url-pattern></filter-mapping> 


然后struts.xml中的配置
<package name="default" extends="struts-default,json-default"><interceptors><interceptor name="myInterceptor" class="com.tmg.filter.TmgPrivilegeInterceptor"/><!-- class引入的是过滤的类 --><interceptor-stack name="myInterceptorStack"> <interceptor-ref name="myInterceptor"/> <span style="font-family: Arial, Helvetica, sans-serif;"><!--引入上面。和上面的name属性要一直 --></span><interceptor-ref name="defaultStack"/></interceptor-stack></interceptors><default-interceptor-ref name="myInterceptorStack"></default-interceptor-ref><global-results><result name="logout">../index.jsp</result><result name="failure">../fail.jsp</result></global-results></package><pre name="code" class="java">
实现拦截的类public class TmgPrivilegeInterceptor extends AbstractInterceptor {/** *  */private static final long serialVersionUID = 1L; public void destroy()     {         // TODO Auto-generated method stub         System.out.println("拦截器销毁!");      }      public void init()     {         // TODO Auto-generated method stub         System.out.println("拦截器初始化");      }      public String intercept(ActionInvocation invocation) throws Exception     {         // TODO Auto-generated method stub         System.out.println("拦截器开始验证!");         if(LoginAction.class==invocation.getAction().getClass())         {             return invocation.invoke();         }         User user=(User)invocation.getInvocationContext().getSession().get("user");         if(user==null)             return "failure";         System.out.println("用户已经登录");         return invocation.invoke();     }  }

</pre><pre name="code" class="html">本人已验证...如果用户登录长时间没有操作的话..或者session销毁后..再去操作会直接跳回到登录页面...



0 0
原创粉丝点击