也谈谈权限管理:前言
权限管理是所有信息系统的基础模块,在这一年多里我有幸参加大型ERP系统的开发,该ERP系统包括客户关系、销售、仓库、采购,财务,生产,人事等七大模块,其中权限主要由我小组负责开发,颇有心得。
在园子里看到了不少的专门写权限的文章,其中还有一位大哥专门做权限的,写了不少这方面的文章,在动笔写这个系列之前,我专门抽了几个晚上的时间来仔细阅读他的文章,并与我的权限实现方案相比较,从中也受益不少;还专门看了下RBAC权限基于角色的权限控制的文章,在做了这些准备之后,初步决定按以下的思路进行书写
1.理想状态下的权限模型
大学里学计算机基本工作原理,开始时以一个简化的计算机模型进行讲解,假如从实战角度出发,该模型机几乎无所作为,但有利于学习到事物的本质,在了解了本质之后,再从实际需求出发,一步步在模型机的基础上添砖加瓦,形成一个实战型的权限管理模块
2.理想模型初步现实化
在这一篇里面将指出哪些地方是理想化的,现实中是如何操作的,应该如何从理想转化成现实。
3.权限的设置、授予
权限是如何进行设置的,晒晒我做的这个模块的界面及这样做的心得体会;然后就是权限是如何进行授予目标用户的,是直接授予,还是间接授予,它们的优缺点何在,我更喜欢哪一种,我如何去去说服别人接受我所喜欢的方式。
4. 权限管理透明地插入到系统
如何将权限管理嵌入到应用系统中,做到对业务编的程序员是透明的,你只管编你的程,权限我来搞定,你不需过问。为什么它无法满足所有的需求,所以才有了下面两章权限在表现层,业务层的调用。
5.权限在表现层的使用
这里的表现层即可以是B\S中的VIEW,也是可C\S中的VIEW;它的需求有哪些,表现层该如何调用权限管理模块提供的功能完成权限控制需求。
6.权限在业务层的调用
存在特殊的情况权限管理模块不能完全透明地处理好权限的控制,它又该提供哪些接口供其它程序员调用,手动编码完成权限的控制。
7.特殊情况的处理
按据上面几章的方法,基本上可以满足大部分的权限控制,但仍然有部分特殊的需求无法满足,它们是怎么样,该如何进行处理。
8.存在的问题及改进的思路(完结)
在写上以上的文章之后,想必可以找出我方案里的不少问题了,针对这些问题再说自己的初步改进思想,以此进我的权限管理模块进行完善,这也是我写这个系列文章的目的所在。
在园子里看到了不少的专门写权限的文章,其中还有一位大哥专门做权限的,写了不少这方面的文章,在动笔写这个系列之前,我专门抽了几个晚上的时间来仔细阅读他的文章,并与我的权限实现方案相比较,从中也受益不少;还专门看了下RBAC权限基于角色的权限控制的文章,在做了这些准备之后,初步决定按以下的思路进行书写
1.理想状态下的权限模型
大学里学计算机基本工作原理,开始时以一个简化的计算机模型进行讲解,假如从实战角度出发,该模型机几乎无所作为,但有利于学习到事物的本质,在了解了本质之后,再从实际需求出发,一步步在模型机的基础上添砖加瓦,形成一个实战型的权限管理模块
2.理想模型初步现实化
在这一篇里面将指出哪些地方是理想化的,现实中是如何操作的,应该如何从理想转化成现实。
3.权限的设置、授予
权限是如何进行设置的,晒晒我做的这个模块的界面及这样做的心得体会;然后就是权限是如何进行授予目标用户的,是直接授予,还是间接授予,它们的优缺点何在,我更喜欢哪一种,我如何去去说服别人接受我所喜欢的方式。
4. 权限管理透明地插入到系统
如何将权限管理嵌入到应用系统中,做到对业务编的程序员是透明的,你只管编你的程,权限我来搞定,你不需过问。为什么它无法满足所有的需求,所以才有了下面两章权限在表现层,业务层的调用。
5.权限在表现层的使用
这里的表现层即可以是B\S中的VIEW,也是可C\S中的VIEW;它的需求有哪些,表现层该如何调用权限管理模块提供的功能完成权限控制需求。
6.权限在业务层的调用
存在特殊的情况权限管理模块不能完全透明地处理好权限的控制,它又该提供哪些接口供其它程序员调用,手动编码完成权限的控制。
7.特殊情况的处理
按据上面几章的方法,基本上可以满足大部分的权限控制,但仍然有部分特殊的需求无法满足,它们是怎么样,该如何进行处理。
8.存在的问题及改进的思路(完结)
在写上以上的文章之后,想必可以找出我方案里的不少问题了,针对这些问题再说自己的初步改进思想,以此进我的权限管理模块进行完善,这也是我写这个系列文章的目的所在。