这是一个让人头晕的问题,令我觉得SPS的架构设计师很不负责任。
一般而言,Portal网站中主页区域比较特殊,集成了比较多的业务逻辑,很自然的就会有这样的需求:对于某个业务逻辑,一些人有添加、删除、修改权限,更多人只有查看的权限。如果你是用SPS自带的列表来实现这些业务逻辑的话,你就会碰上一个问题:在Portal站点中权限分配的最小单位是区域,因此你无法为单个的业务逻辑分配权限。而在WSS站点中又是可以单独修改列表权限的,在每个列表的修改设置页面中都有一个修改列表权限的链接,通过这个链接可以单独给某个列表设置权限。
如Kaneboy所说,SPS是基于WSS创建的一个应用,所以WSS可以的SPS肯定是可以的。为此Kaneboy写了一个Webpart用来实现列表单独权限设置,我试了一下,认为有些地方需要注意,以下是我实现Portal站点列表权限单独设置的操作步骤:
1 在Portal站点的网站设置-管理用户页面中以安全组的方式添加一组AD用户对应到读者用户组中(不能对应到自己建立的网站用户组中),另外注意一点就是从网站设置-管理用户进入和在主页上动作菜单的管理用户进入是一样的。以上设置完成后,AD组的帐号就能以只读的方式访问Portal网站的各个区域了
2 赋予该组AD帐号对主页区域的文档库增、删、改的权限:安装好Kaneboy的Webpart,拖动到主页区域中,从该Webpart的列表下拉框中选择文档库,修改读者角色的权限为"查看、插入、编辑和删除项目"。注意在修改权限页面使用添加用户供能添加单个帐号是不起作用的,只能对SPS默认有的几个角色设置才有效,而这个默认角色之间的权限又稍有不同(令人好晕)
3 以上步骤完成后,AD组中的帐号对主页区域的文档库列表有增、删、改的权限,但是对主页区域下的其他列表只有查看权限
4 重复第二步的操作设置需要的列表权限,直到满足需要
我最初的做法总是企图以单个帐号为基础设置权限,在权限修改页面通过添加用户链接来设置权限,没有一次是成功的,最常见的错误就是:明明在文档库列表中设置domain\xqyi帐号对文档库有读写权限(该帐号对区域只读),但是完成后发现对domain\xqyi帐号对同一区域的其他列表也有读写权限了。
以自己建立的网站用户组来设置也是不行的,因为在具体列表的权限修改页面中没有包含字定义的网站用户组(即便是内置用户组,在二级区域中也没有包含所有的用户组),用添加用户链接添加的组权限也会应用到整个区域中去。