范型架构:interceptor、filter搭载memcached的权限拦截方式

来源:互联网 发布:知天下图吧 编辑:程序博客网 时间:2024/05/17 14:17

在开发过程中,开发人员往往注重于功能的开发,而偶尔忽视权限判断代码的开发;范型开发中,若规范开发过程、提高开发效率,可以完全采用不做任何修改的范型Action,从而避免在Action中加入权限判断代码。此时,过滤器、拦截器做权限拦截与验证的方式十分合乎中大规模的开发过程。使用拦截器判断权限的原始思想源于spring的spring-security,但由于其基于java缓存url或不缓存url,不方便配置,在项目中比较难以应用。由此,本文提出了基于interceptor、filter搭载memcached的权限拦截判断方式,用于中大型规模的开发项目。

具体框架为:

通过拦截器做权限判断,也有需要注意的方面,比如效率、防止Dos攻击。在效率上,我们可以采用memcached缓存角色权限的配置信息,每个请求到memcached中验证从而避免数据库当机。为了防止使用穷举url方式的Dos攻击,造成数据库当机,在功能上,需要防止当memcached中不存在对应权限url时直接查数据库的操作,即需要保证memcached中存在一份数据库权限配置的镜像。当然,我们可以在memcached抛异常、无法连接时,做直接查询数据库的备用方案。

北京师范大学 计算机系

张人杰

2012.9.28

原创粉丝点击