Windows SharePint Service 3.0(或MOSS)默认不支持字段级的权限。而在项目的实施过程中,客户经常会提出这个需求。

解决方案有两种:

1)开发自定义的字段,在字段上附加控制逻辑。

优点: 可以完全控制显示和编辑。
缺点:无法对系统的字段启用权限控制,而且,需要重写系统的所有字段,工作量很大 。

2)重写系统的模板中的ListFieldIterator控件(这个控件用来生成表单页面的字段编辑表格),实现字段权限控制。

优点:可以控制所有类型的字段。
缺点:无法完全控制字段的读取--无法控制到列表页面字段的显示。

综合起来,决定采用方案2来实现。既然无法完全控制到字段的读取,这个解决方案只控制字段的编辑。

一直想实现这个解决方案,今天终于打起精神,完成了,并打包成了标准的wsp包,从事wss或moss开发的朋友可以试用一下。


CodeArt WSS字段编辑权限控制解决方案实现对WSS(MOSS)列表,库的字段编辑权限控制,
可以精确控制一个字段可以由哪些用户编辑。提供了友好的设置界面。

使用说明:

1)安装解决方案

修改install.cmd中的 SET SITE_URL="http://localhost:81" , 将81设为实际的网站端口,然后运行install.cmd

2)部署解决方案

install.cmd运行完成后会自动部署到设置的站点,若需要部署到其他站点,请登录 管理中心 > 操作 > 解决方案管理 , 进行部署。

3)测试
转到任意一个列表的“列表设置”界面, 可以看到多出来一个 字段权限设置 的链接,进入设置即可 。

-----------------------------
字段权限设置说明 :

所有人员: 拥有对Item编辑权限的用户可以编辑字段.
创建者: Item的创建者可以编辑字段
指定用户: 指定的用户可以编辑字段。

默认所有人和创建者拥有编辑权限。

网站管理员可以编辑所有字段,所以测试的时候不要用管理员帐号。

界面效果截图:

列表设置:

字段权限设置:


标题只读 ,内容可以编辑:



欢迎试用。 下载解决方案: CodeArt_FieldRightSolution.zip

本系列的所有文章:
CodeArt WSS3.0(MOSS)字段编辑权限控制解决方案(v1.0)
CodeArt WSS3.0(MOSS)字段编辑权限控制解决方案的实现 -- 概要
MOSS字段编辑权限控制方案的实现(1)-管理页面的开发和配置信息的持久化
WSS页面定制系列(2)---定制单个列表的表单页面
WSS页面定制系列(3)---重写表单的保存逻辑
MOSS字段编辑权限控制方案(4)-打包解决方案

后记:
最新代码整理到了CodePlex上:
CodeArt SharePoint Permission Extension 1.0 beta publish

posted on 2008-01-20 02:19  jianyi  阅读(6157)  评论(52编辑  收藏  举报