细粒度权限拦截常用方法

一:(目前用的比较多的)
Jdk1.5以下版本一般使用的方法:(包括SpringFramework中的acegi也是使用的这种方法,全称为Acegi Security System for Spring.)
通常会建立一个表 xxxx:里面有类、方法、权限属性
Classmethodprivilege

--------------------------------------------------------
类的全类名里面的方法权限值(比如1)
cn.itcast.web.action.privilege.DepartmentManageAction
addDepartmentUI1

这样就描述出了具体类里面的具体的某些方法,需要什么权限

二:
采用注解的方式(必须是jdk1.5以上)
你想标注某个方法需要什么权限才可以执行,我们就可以自定义注解:
@Permission(privilege=1)
意思是标注这个方法需要权限1才可以执行
当你标注的这方方法重构的时候,我们注解不用改,但是用第一种表的方式,里面对应的方法名称也就需要随之更改。
这两种方法在性能上没有太大的差异,数据库的形式我们也完全可以在系统加载的时候,把表里面的信息加载到内存里面。主要在维护上第二种方式比较好。第二种方法也比较直观。

你可能感兴趣的:(常用方法)