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
后记: