日期:2014-05-17  浏览次数:20652 次

网站实现权限控制
在以前的系统都是使用filter进行权限控制,但那种情况一般都是如果是不登陆的用户,只允许用户使用登陆和注册页面。现要做个网站,如果不登陆的用户有很多页面能使用,有很多url能请求,但也有很多页面和url请求需要登陆之后才能使用。如果再用filter的话,会造成filter的if很罗嗦,如下:
if(!"/page1".equals(requesrUrl)&&!"/page2".equals(requesrUrl)&&!"/page3".equals(requesrUrl)&&!"/page4".equals(requesrUrl)......)
不知道有没有更好的办法。
换句话说用filter控制的确很好,但那是在在登陆前能使用页面少的情况下使用的,但登陆前能使用的页面特多怎么办?
谢谢!

------解决方案--------------------
数据库里加个 判断权限的字段 怎么样?
------解决方案--------------------
<filter>
<filter-name>myFilter</filter-name>
<filter-class>com.hisoft.util.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myFilter</filter-name>
<url-pattern>/chat/*</url-pattern>
<url-pattern>/chat.jsp</url-pattern>
</filter-mapping>

这个是我写的一个filter,不要在filter里面用if判断,直接将需要过滤的(登录后才能访问的)地址配置到url-pattern里面就可以了。
上面那个就是chat文件夹下面的所有页面和chat.jsp必须登录后才能访问
------解决方案--------------------
写个xml配置文件,配置对应的url与权限,然后使用过滤器
------解决方案--------------------
其实配置也麻烦的,有时要加多个 filter-mapping,如查以后要求改变的话,还得跑回来改配置文件,重启服务器.....

从用户的角度下手也不错,建一个公共的账户,如果前台没有登陆,则系统默认按这个账号来进行操作

在权限的配置上,将这个账户可以访问的页面配好就行了,这一切都可以动态进行,随时增减可以访问的页面
------解决方案--------------------
探讨
写个xml配置文件,配置对应的url与权限,然后使用过滤器

------解决方案--------------------
可以用include么?
------解决方案--------------------
一般把权限和你文件的路径结合起来处理会方便很多,这就要前期的设计了.并不是说把需要判断权限的路径一个一个挑出来做处理,那样太痛苦了.


2L说得好啊~~过滤器过滤的路径是可以配置的,LZ可以试试