struts2拦截器实现登录限制

      完整的项目代码下载地址: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标签中,关联到要使用的拦截器,在此,默认的拦截器一定要出现,这个是必须要声明的,然后才是自己定义的拦截器。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值