在WSS/MOSS中实现组嵌套授权

    说到WSS/MOSS的授权,需要首先了解WSS/MOSS的网站架构和对象模型。站点集(Site Collection)->顶级站点(Top-level Site)->子站点集(Subsites)->列表(Lists)->列表项(List Item)->列表项域(Fields)。顶级站点和子站点构成站点集合。文档库以及日历等也是特殊的列表,只是表现形式不一样而已。看一下下面这张图就清楚了:
   
http://album.sina.com.cn/pic/3f2ef118020016y7
(Site Architecture and Object Model Overview)
   
    尽管张图是站点架构示意图,但WSS/MOSS中的权限继承关系完全也是按照这个模式自上而下进行的。在创建好应用程序(Web Application,对应IIS中的网站,包括端口)后,还需要创建网站集(Site Collection)。网站集下有一个默认的顶级站点。授权时,最高权限是网站集的管理员。顶级站点的管理员也就是继承网站集的管理员,子站点的管理员继承顶级站点,其余类推。
  
    WSS/MOSS的权限管理是非常值得称道的一个部分,很强大。它的强大在于支持分组、角色、权限等的管理,同时也支持继承和单独授权。你在对象的任何一个级,如果不愿继承,完全可以单独授权。考虑到性能,微软并不推荐过多的单独授权。

http://album.sina.com.cn/pic/3f2ef118020016zq 

    遗憾的是,在WSS/MOSS组,无法实现组的嵌套授权(如上图)。其实,这里面的原因是可以理解的。所谓的WSS/MOSS中组的概念,其实并非仅仅人员的集合,而是对一组人员针对一个对象授予一组权限的组合(简单地说,就是哪些人可以对什么进行哪些操作)。因此称之为组未必合适,把它定义为角色可能更为合适(不太清楚为什么WSS/MOSS会将其叫做组。接下来还是按照WSS/MOSS的描述进行说明)。如果WSS/MOSS组可以嵌套,那么就无法实现对这个组给予相应对象的操作权限。除非组的权限完全相同,考虑到组合的复杂性,WSS/MOSS不支持嵌套也就在情理之中了。

    那么我们如何实现真正的组的嵌套呢?而这个在企业应用中非常典型,比如组织机构,完全是嵌套的。比如:我们有公司,公司下有部门,部门下有科室。一天,科室新来一员工。我们需要将员工在科室组中添加,同时还要分别在部门组、公司组中添加。如果哪天有员工离职,我们又要同样的做反向工作。这样不能实现嵌套的组管理模式会给系统管理人员带来极大的授权工作量。如果我们的WSS/MOSS是基于AD认证,那么完全可以利用AD中的组来实现。幸运地是,WSS/MOSS中的组成员可以包含AD中的组;幸运地是,AD是如此完善强大,组的管理完全可以实现嵌套。接下来就介绍如何实际地进行组的嵌套授权。

    在域中假设已经创建了组织单位:福清核电、工程公司、二四公司。同时,也为MOSS授权建立了一个组织单位(OU):MOSS专用组。如下图所示:

http://album.sina.com.cn/pic/3f2ef11802001704   
    在MOSS专用组下,我们创建了:ALLEMP、FAEF、FCFF、FQNP几个通用安全组。如下图:

http://album.sina.com.cn/pic/3f2ef11802001705

    在ALLEMP中,包含了FAEF、FCFF、FQNP三个组成员和一个普通用户。这个是为了说明除了包括组成员外,也可以直接包含员工。至于FAEF、FCFF、FQNP则直接将组织机构中的员工添加进来即可。如下图所示:

http://album.sina.com.cn/pic/3f2ef1180200170a

    再来看看,我们如何在MOSS中进行授权。在添加用户权限时,直接输入组名即可。比如:ALLEMP。如下图所示:

http://album.sina.com.cn/pic/3f2ef1180200170b   

    然后再点检查名称,我们就可以看到刚才创建的组名即可显示出来。

http://album.sina.com.cn/pic/3f2ef1180200170c

    到此,我们就基本实现了按组嵌套授权。当FQNP组新来员工时,我们只要在FQNP组中添加一次即可,在ALLEMP组中自动就包含了新来员工。上面的实例是直接授予用户/组权限,我们也可以相应地在MOSS中创建与AD对应的用户组,组成员添加AD中的组即可。



欢迎访问我的SINA博客: http://blog.sina.com.cn/dotnba

你可能感兴趣的:(OS)