代码改变世界

权限设计中的"依赖颠倒"

2009-06-08 13:54  咒语  阅读(1218)  评论(3编辑  收藏  举报

一直在想,可是进度不是很尽人意呀.
目前的想法是:
1. 具体模块的权限设定写在配置文件里.通过类似于反射或是反序列化来映射到不同的模块上(可动太增加,这样多少插件来了也不怕)
2. 权限验证要灵活,不能像现在这样写死在方法里了(典型的面向过程编程呀).初步想到可能要用到工厂方法模式[目前本人这方面欠缺,正在学习中]

-----------无奈的分割线-以上为前几天的想法--------------

今天[2009-6-8]想到,为什么我们要把权限绑定到角色上呢? 如果反过来呢? 比如某一方法(或是模块)用的权限,我给一个资源Id(Gid) 然后将这个Gid和角色映射起来(应该也能用到OO里面的重载来实现)! 这样,新的模块出来了,只需要分配新的Gid和新的角色映射即可,而不是再预先想到某些模块可能用到什么权限. (模块的权限可以写到配置文件里).

可能说的不是很清楚,不过大家有什么好点子,欢迎提出来呀!

------------补充一下--------------

就是我们做的项目权限呀都是直接和角色关联的,如果项目里新增加一些模块,而早先又没有预料到的话就比较麻烦. 现在呢,权限是直接和模块(里的方法)绑定在一起的,新增加模块的时候就新增加(可能的权限) 然后再将这和角色映射起来!