哎,最近都在做重复的工作,没能学习先知识
现在在做系统的权限模块,或者说是最简单的权限模块: 用户——功能
很多使用SSH的人,都会考虑到用户未登录,直接跳入后台页面(知道它的url地址) 一开始,很自然想到Struts里面的拦截器 做着做着会发现,根本没有用!
比如说后台页面的地址为 /admin/index.jsp 最让Struts的Filter明明是截获所有的请求进行处理的 可是... Struts不会阻止任何人访问页面!(也就是jsp、html等等), 而只阻止访问Act 也就是说,你在地址栏输入/admin/index.jsp一样可以到后台页面去! 而如果你输入/admin/loadResource.act
解决方法是: Filter + Interceptor Filter自己集成Servlet中的Filter重写方法,做出权限判断, 也就是说Filter截获的是页面请求! Interceptor是Struts中的,你可以集成AbstractInterceptor类,定义自己的拦截器再配置上 也就是说Interceptor截获的是Act
两个加起来就可以做到最基础的页面权限了! |
|