云的彼端

就好像自己最喜欢的龙井,一杯香醇,久久而不散,悬坐于茗亭之中,围棋和茶,不为生活所拘谨,完美地发挥自己,那就是我的理想吧。

导航

关于权限的一些考虑

Posted on 2005-03-04 09:52  云的彼端  阅读(261)  评论(0)    收藏  举报
 

对于信息系统中,我发现有两个东东具备通用性,一个是工作流,一个是用户权限。如果把这两个东东整理起来的话,应该可以做一套很好用的Info Core出来。工作流大家都有共识,那么权限该如何去做呢?我想是这样:

首先说权限的要素,权限中有两个要素,一个是操作,一个是用户角色,一个针对于人,一个针对于资源(或者叫信息)。

然后是如何来做,首先就应该有个存储操作和存储角色的容器,然后,是操作和具体的资源进行对应,就是说一个N1的关系,N个资源可能操作许可就一个。而角色具体细分为角色组+角色方式,角色组和角色是一种映射的对应关系,也就是说,一个角色属于一个角色组,那么此角色具备了组里面的各种操作能力,而此用户可以自己设置特殊的能力,如果此能力跟组能力相背的话,那么应该首先符合此角色的能力然后再考虑组能力。

再次就是如何实现了。角色、角色组和操作都相对容易,那么关键就是操作和具体资源的映射问题,也就是那个N1映射的问题,要是能解决此问题的话,那么就可以实现此权限问题的通用化,按理说,还应该有个问题需要考虑,那就是角色和用户之间的对应问题,但此问题一般来说比较容易,一个角色对应关系表格就可以做到,也是一个N1映射,而这个N就是一个用户这个1就是一个角色。

那么现在开始解决操作和资源映射的问题,首先,对于资源的划分,对应与具体的资源来说,资源分为以下几类:(这应该叫做一个层次的问题,简单的系统使用界面资源来做规划)

1、界面资源

2、业务资源

3、事务资源

考虑此种解决方案的缺点:

1、如果是复杂系统的话,那么操作会非常复杂,而且,把所有的操作都整理出来是否可行?

2、如果是大型系统的话,那么用户就会非常多,而这种环境中,如何划分角色?这角色的数量肯定是个天文数字。

这种方案的解决的应该是小型系统,估计对于中型系统都不合适。那么对于中、大型系统的权限问题,要如何解决呢?