AOP下的权限控制实现

http://tech.ddvip.com   2006年11月21日    社区交流

本文详细介绍AOP下的权限控制实现

  ⑵ 以代理模式为每个功能类实现一个相应的代理类,虽然解耦了程序功能和权限检验,但是,从某个角色的权限检验这个切面考虑,涉及具体Proxy类太多,扩展修改难度大。

  权限控制的J2EE容器实现

  在AOP概念没有诞生前,J2EE规范已经提供了关于权限控制的容器实现标准,这种变迁结果如下图所示:

  

  图2 权限控制的J2EE容器实现

  原来需要每个应用程序实现的权限Proxy转为整个容器的Proxy实现,其中JDK1.3以后的动态代理API为这种转换实现提供了技术保证。

  非常明显,通过容器实现权限控制验证可以大大简化应用程序的设计,分离了应用系统的权限关注,将权限控制变成了对J2EE容器服务器的配置工作。

  其实,容器的权限实现也是一种从一个侧面来解决问题方式,AOP概念诞生后,权限控制实现由此也带来了两个方向的变化:

  ⑴ J2EE容器级别的权限实现,也就是容器自身的权限实现。

  ⑵ J2EE应用程序级别的权限实现。

  权限控制在容器级别实现似乎使得J2EE开发者感觉没有灵活性和可扩展性,其实象JBoss 4.0这样的J2EE容器,由于引入了AOP概念,使得J2EE开发者在自己的应用系统中能够直接操纵容器的一些行为。容器和应用系统由于AOP引入的Aspect切面,变得可以成为一体了。

  对于J2EE应用系统开发者,能够做到上述境界,必须的条件是对JBoss之类J2EE容器必须有足够的了解,因为这些方式并不是J2EE标准,有可能在移植到新的J2EE容器,这些知识和投入变得无用(也有可能将来J2EE扩展其标准)。

  很显然,使用AOP实现J2EE应用系统级别的权限控制,是解决上述移植风险的一个主要方法,但是带来的缺点是必须亲自从零开始做起,耗费时间不会很短。

来源:计算机与信息技术    作者:陈景燕 阳国贵    责编:豆豆技术应用

正在加载评论...