权限设计中的"依赖颠倒"
2009-06-08 13:54
204 查看
一直在想,可是进度不是很尽人意呀.
目前的想法是:
1. 具体模块的权限设定写在配置文件里.通过类似于反射或是反序列化来映射到不同的模块上(可动太增加,这样多少插件来了也不怕)
2. 权限验证要灵活,不能像现在这样写死在方法里了(典型的面向过程编程呀).初步想到可能要用到工厂方法模式[目前本人这方面欠缺,正在学习中]
-----------无奈的分割线-以上为前几天的想法--------------
今天[2009-6-8]想到,为什么我们要把权限绑定到角色上呢? 如果反过来呢? 比如某一方法(或是模块)用的权限,我给一个资源Id(Gid) 然后将这个Gid和角色映射起来(应该也能用到OO里面的重载来实现)! 这样,新的模块出来了,只需要分配新的Gid和新的角色映射即可,而不是再预先想到某些模块可能用到什么权限. (模块的权限可以写到配置文件里).
可能说的不是很清楚,不过大家有什么好点子,欢迎提出来呀!
------------补充一下--------------
就是我们做的项目权限呀都是直接和角色关联的,如果项目里新增加一些模块,而早先又没有预料到的话就比较麻烦. 现在呢,权限是直接和模块(里的方法)绑定在一起的,新增加模块的时候就新增加(可能的权限) 然后再将这和角色映射起来!
目前的想法是:
1. 具体模块的权限设定写在配置文件里.通过类似于反射或是反序列化来映射到不同的模块上(可动太增加,这样多少插件来了也不怕)
2. 权限验证要灵活,不能像现在这样写死在方法里了(典型的面向过程编程呀).初步想到可能要用到工厂方法模式[目前本人这方面欠缺,正在学习中]
-----------无奈的分割线-以上为前几天的想法--------------
今天[2009-6-8]想到,为什么我们要把权限绑定到角色上呢? 如果反过来呢? 比如某一方法(或是模块)用的权限,我给一个资源Id(Gid) 然后将这个Gid和角色映射起来(应该也能用到OO里面的重载来实现)! 这样,新的模块出来了,只需要分配新的Gid和新的角色映射即可,而不是再预先想到某些模块可能用到什么权限. (模块的权限可以写到配置文件里).
可能说的不是很清楚,不过大家有什么好点子,欢迎提出来呀!
------------补充一下--------------
就是我们做的项目权限呀都是直接和角色关联的,如果项目里新增加一些模块,而早先又没有预料到的话就比较麻烦. 现在呢,权限是直接和模块(里的方法)绑定在一起的,新增加模块的时候就新增加(可能的权限) 然后再将这和角色映射起来!
相关文章推荐
- 《模式——工程化实现及扩展》(设计模式C# 版)《重新研读C#语言》——“自我检验" 参考答案:依赖注入部分
- VS 中NuGet 尝试还原程序包时出错"*"已拥有为"**"定义的依赖项
- 部署错误:尚未授予访问 Tomcat 服务器的权限。请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令。
- "自适应网页设计"到底是怎么做到的?其实并不难。
- 无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限
- linux 文件权限中出现的"可运行的目录"?
- 关于win7下,"错误0x0070522:客户端没有所需的权限。"解决方法
- "Unable to retrieve CarrierName."CTError引发的对iOS系统权限的总结
- 采用一个自创的"验证框架"实现对数据实体的验证[设计篇]
- "无法在web服务器上启动调试,不具备调试此程序的权限" 问题解决
- 当前标识没有对"Temporary ASP.NET Files"的写访问权限的解决办法
- Vs2010设计ASP.NET页面时出现"创建控件时出错"
- "依赖属性"之捅破窗户纸
- Android手机UI设计---"软件市场"界面设计
- maven项目中,添加依赖后,出现"Dependency 'xxxx‘ not found"解决过程
- [整理]VS2010中如何添加“依赖","库目录","包含目录"
- "室内设计之父"高文安
- Win10无法删除C盘系统件提示"你需要来自system的权限才能对此文件件进行修改 "
- 【Java】利用注解和反射实现一个"低配版"的依赖注入
- "IIS7.5 HTTP 错误 500.19 由于权限不足而无法读取配置文件"的解决。