SPS中的文档权限管理只能针对文档库一级,而不能再对文档进行细化单个授权的限制,是所有SPS开发人员和管理员心中的“痛”。为了解决这个问题,不少开发人员“各出各招”,提供了各自“曲线救国”的方案。
以前我曾经做过一个文档管理系统的项目,底层使用WSS,上面一层是纯粹的ASP.NET项目,通过访问WSS SDK,来获得WSS提供的功能。这种方案相当于自己将SPS里面的文档库模块重新实现了一遍,开发人员可以获得最大化的灵活度,包括把权限设定到文件一级。当然这种方式开发复杂度也相当高,除非有非常良好的资源,包括对WSS开发非常了解的开发人员,才可能采用这样的方案。
当然,我们也可以做出更轻巧的解决方案,我做过的一个是这样来实现的:首先在文档库的权限设置中,将一般用户所具有的权限都去掉,只让管理员对此文档库具有所有访问权限,然后给文档库增加一个新的栏,比如叫“Permission”,然后如果希望哪个站点角色或者用户能够访问一篇文档,就将这篇文档的“Permission”栏的值设置成那个角色或用户的名称即可。然后通过自己定制的一个WebPart来给用户显示文档库的信息。注意,使用默认的显示文档库内容的WebPart,是显示不出什么内容来的,因为实际上普通用户对这个文档库根本不具备访问权限。
下面是使用方法的一些演示图片:
首先,让“读者”这个角色不具备访问文档库的权限。
然后,管理员进入文档库,将文档的“Permission”栏的值设置成对文档有访问权限的角色和用户名。
当前登录Portal的用户是只具有“读者”权限的,注意看下面图片中下方的那个WebPart,那是SPS自带的显示文档库内容的WebPart,由于当前用户没有权限访问名为“示范文档库”的文档库,所以这个WebPart只会显示错误信息,或者会弹出一个窗口让用户输入用户名和密码。但是看上方那个定制的WebPart,它就可以正确的将我们自己在上面图片中所设定的有权限访问的文档显示出来。
能够显示文档列表,那么能不能打开这些文档呢?答案是没问题!在定制的WebPart上点击文档链接,就能够直接下载这些文档。但是注意,如果你直接在IE地址栏输入这个文档的Url,SPS是不回让你打开或下载的,因为当前用户实际是没有权限访问这个文档的。只有通过这个定制的WebPart,才可能突破SPS的限制,按照我们自己单独设定的文档访问权限来打开文档。
过两天我会把代码整理一下后,把这个WebPart和使用文档放在Blog上。
打印 | 张贴于 2005-02-04 02:55:00 | Tag:SharePoint



留言反馈
fujing0103@163.com
yymps@163.com
linwb@163.com
feng200077@163.com
yehuanhao@clpec.com.cn
万分感激,
mail: christinazrr@126.com
iamcmz@163.com
文件权限的问题让我头痛了好长一段时间了,非常渴望得到您的帮助,可以把您的解决方法,WebPart及使用文档给我发一份吗?非常非常的感谢!
我的邮箱是:duanjtbj@126.com
再次感谢!
wangyb_park@hotmail.com
感激~~~~~
wangyb_park@hotmail.com
感激~~~~~
wangyb_park@hotmail.com
感激~~~~~
jokeyu@hotmail.com
感激~~~~~
marsapolo@163.com
以下文字是WSS帮助文件里面的内容,我的MAIL是joshyzj@163.com,愿意跟大家继续交流!!:
管理向后兼容文档库的安全性
如果您是向后兼容文档库的协调员,则既可在文档库级的角色中添加或删除用户,也可以在单个文件夹的角色中逐文件夹添加或删除用户。
注释 单个文件夹上的安全性设置决定用户在文档库可以看到的内容。这意味着分配文档库级角色的用户可能不具有与该文件夹级角色相同的角色。
我的email:zhou10079@sina.com
scott_han@citiz.net
baogusr@163.com
还有一个问题,如果仅想让用户读取和保存文件,而不允许列目录。。比如另存为时就列出了目录。有办法解决么?
maharajah@126.com
能否也发一份给我
ljj889942@yahoo.com.cn
谢谢各位大虾
YANGH9000@YAHOO.COM
谢谢!
qyclub@hotmail.com.cn
mark.ma@bcis.cn
现在项目中正好有个文档库的需求可以参考这个,但没找到下载的地方,这个webpart大致代码能否发一份给我呢,非常感谢!
lwy_new@yahoo.com.cn
qqq123@lsc.net.tw
hungyu50@hotmail.com
JianBin_2002@163.com
谢谢!
fbf_abian@163.com
kklo@wahdou.com.hk
B.Rgds,
KKLO from Hong Kong
With best regards,
KKLO from Hong Kong
否则就要安装rms和IRM啦。
这个WEBPART可以给我发一份吗?
xl12011@126.com
非常感谢!
valexzhou@hotmail.com
能否发一份给我?
xl12011@126.com
这个WEBPART可以给我下载?
mycancan@msn.com
garyhuan@ms24.hinet.net
谢谢!
jbaowang@student.dlut.edu.cn
^_^
我的mail 是 zeke_zhu@hotmail.com
谢谢!
oxy@21cn.com
baizhi@vip.sina.com
不胜感谢!
whoisyoung@126.com
rodney_hy@163.com
1、批量上传文档后,不得不手工去编辑每个文档的权限;
2、不能使用sps自带的功能强大的视图,因为是自己写的web part来展现文档;
3、其实,我们可以想象一下,如果每个文档的权限都不是一样的,这样去做的意义就很大。但是实际情况是很多文档的权限是一样的,所以我认为sps把具有相同权限的文档放到同一个文档库中,即用文档库来管理权限是合理的;
4、另外,sps来做知识管理的目的是强调共享,显然上面的做法是违背了这一原则。即便是有些文档的机密程度较高,需要特别的权限,我想这样的文档基本上应该在10%以内吧,把这些文档分类放到不同文档库中也可以解决权限问题啊
azhedream@yahoo.com.cn
谢谢!
谢谢!
谢谢!
非常感谢!
leafpeak@hotmail.com
thanks alot!
EMAIL:dong.xd@gmail.com
patriclee.tw@yahoo.com.tw
我把“读者”的权限设置为“取消签出”,对你的“文件夹文件列表视图”稍作改动,增加了对文件Permission属性的检查,一般的效果是能够出来。但当我用普通用户访问的时候,页面出错,我想可能是因为该用户没有权限获取文档库的文件夹和文件吧。你开发的部件却可以正确显示,是不是在部件内部模拟了管理员身份去获取数据?具体该怎么去做呢?能不能抽空指点一下?
我刚开始用wss,文档权限问题很是困扰。
sun.lin@covics.com
sanshi2@msn.com
wl810321@sohu.com
ndmis@21cn.com
gxf1972@sina.com
lisong.lv@gigabyte.com.cn
en-min.li@hp.com
yzn@21cncorp.com
wokgsi@hotmail.com
MSN:jxis0@hotmail.com
請發給我份,謝謝
email: zhang.yun@delta.com.cn
我司遇到问题是中文字的前后没有 white space (comma, full stop, new paragraph, space, carriage return), 以致搜索不到!
谢谢!
这个用在什么地方?
是sharepoint?