码迷,mamicode.com
首页 > 其他好文 > 详细

struts2拦截器实现登录限制

时间:2015-05-24 15:50:54      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:struts2   java   

      完整的项目代码下载地址:http://download.csdn.net/detail/yanglun1/8728805

      在一般的网页中,都会有登录功能,只有登录的用户才能有权限访问系统中的资源。一般检查用户是否登录通常是通过跟踪用户的session完成的,通过ActionContext既可以访问到session中的属性,拦截器的intercept(ActionInvocation invocation)方法的invocation参数又可以很轻易地访问到请求相关的ActionContext实例。

         先看一下action部分代码如下:


技术分享

      这个方法首先是检测登录用户名和密码是否符合登录要求,符合则登录,并且为当前的用户名的用户创建一个session来方便接下来监听这个用户是否已经登录,是否具有访问资源的权利。


    然后我们再看拦截器类,示例代码如下:

技术分享

    这段代码首先需要继承AbstractInterceptor类,然后需要重写intercept方法,通过ActionInvocation arg0参数可以访问相关的ActionContext实例。通过getInvocationContext方法得到当前的ActionContext实例,然后获取当前的session,检测当前用户是否已经登录,如果登录则通过反射方法返回success。


    最后看一下struts.xml中是如何配置拦截器标签的,示例代码如下:

技术分享

    通过<interceptors>标签设置拦截器,其中的子标签<interceptor>的属性有name属性,随便给拦截器起一个名字,再有就是class属性,这个要对应你写的拦截器方法的路径。最后就是在action标签中,关联到要使用的拦截器,在此,默认的拦截器一定要出现,这个是必须要声明的,然后才是自己定义的拦截器。


struts2拦截器实现登录限制

标签:struts2   java   

原文地址:http://blog.csdn.net/yanglun1/article/details/45951439

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!