SSH 下的 页面跳转 拦截

来源:百度文库 编辑:神马文学网 时间:2024/04/27 16:36:21

哎,最近都在做重复的工作,没能学习先知识

 

现在在做系统的权限模块,或者说是最简单的权限模块:

用户——功能

 

很多使用SSH的人,都会考虑到用户未登录,直接跳入后台页面(知道它的url地址)

一开始,很自然想到Struts里面的拦截器

做着做着会发现,根本没有用!

 

比如说后台页面的地址为 /admin/index.jsp

最让Struts的Filter明明是截获所有的请求进行处理的

可是...

Struts不会阻止任何人访问页面!(也就是jsp、html等等),

而只阻止访问Action(这里包括你定义的后缀)

也就是说,你在地址栏输入/admin/index.jsp一样可以到后台页面去!

而如果你输入/admin/loadResource.action那么就会被Struts拒之门外!

 

解决方法是:

Filter + Interceptor

Filter自己集成Servlet中的Filter重写方法,做出权限判断,

也就是说Filter截获的是页面请求!

Interceptor是Struts中的,你可以集成AbstractInterceptor类,定义自己的拦截器再配置上

也就是说Interceptor截获的是Action的请求!

 

两个加起来就可以做到最基础的页面权限了!