日期:2014-05-18  浏览次数:20923 次

struts2的拦截器实现登录验证,疑惑不解啊
网上好多博客里的代码都是在拦截器的intercept方法里得到session,然后查看session里是否有user。我的疑问是,LoginAction的execute方法里往session里放入了用户数据,但是拦截器是在LoginAction之前执行的啊,也就是拦截器执行时,Action还没执行,Action没执行的话,session里面也就没有数据,你在拦截器里通过查看session里有无数据,这不符合逻辑啊!到底是怎么回事,求指导

------解决方案--------------------
你想错拉..这不合逻辑是因为你把这登录的点也给拦截了当然有问题拉...你要判断如果当前uri是登录的路径你就放行,其他的路径就不放行,强制判断session,你的登录成功就要set一个session的key进去...
------解决方案--------------------
引用:
Quote: 引用:

你想错拉..这不合逻辑是因为你把这登录的点也给拦截了当然有问题拉...你要判断如果当前uri是登录的路径你就放行,其他的路径就不放行,强制判断session,你的登录成功就要set一个session的key进去...

擦,今天郁闷了几个小时,一直在想这个问题。彻底晕了,想想还是发帖求助吧!我都没贴代码,只描述了一下,你一下就看出我的困惑所在,给的答案切中要害。谢谢!

这样才能加深印象那~