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

</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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值