java struct2拦截器_struts2拦截器实现登录限制

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

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

1fe270327606e42f9818078eb99fa66e.png

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

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

b32915b240a6f85f31d13ee3fdad16df.png

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

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

9ebdbd51d5dea05b54c16760f9143b8d.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值