SPS对文件进行权限管理的解决方案
2005-02-04 02:55
351 查看
SPS中的文档权限管理只能针对文档库一级,而不能再对文档进行细化单个授权的限制,是所有SPS开发人员和管理员心中的“痛”。为了解决这个问题,不少开发人员“各出各招”,提供了各自“曲线救国”的方案。
以前我曾经做过一个文档管理系统的项目,底层使用WSS,上面一层是纯粹的ASP.NET项目,通过访问WSS SDK,来获得WSS提供的功能。这种方案相当于自己将SPS里面的文档库模块重新实现了一遍,开发人员可以获得最大化的灵活度,包括把权限设定到文件一级。当然这种方式开发复杂度也相当高,除非有非常良好的资源,包括对WSS开发非常了解的开发人员,才可能采用这样的方案。
当然,我们也可以做出更轻巧的解决方案,我做过的一个是这样来实现的:首先在文档库的权限设置中,将一般用户所具有的权限都去掉,只让管理员对此文档库具有所有访问权限,然后给文档库增加一个新的栏,比如叫“Permission”,然后如果希望哪个站点角色或者用户能够访问一篇文档,就将这篇文档的“Permission”栏的值设置成那个角色或用户的名称即可。然后通过自己定制的一个WebPart来给用户显示文档库的信息。注意,使用默认的显示文档库内容的WebPart,是显示不出什么内容来的,因为实际上普通用户对这个文档库根本不具备访问权限。
下面是使用方法的一些演示图片:
首先,让“读者”这个角色不具备访问文档库的权限。
![](http://images.cnblogs.com/cnblogs_com/kaneboy/418.GIF)
然后,管理员进入文档库,将文档的“Permission”栏的值设置成对文档有访问权限的角色和用户名。
![](http://images.cnblogs.com/cnblogs_com/kaneboy/417.GIF)
当前登录Portal的用户是只具有“读者”权限的,注意看下面图片中下方的那个WebPart,那是SPS自带的显示文档库内容的WebPart,由于当前用户没有权限访问名为“示范文档库”的文档库,所以这个WebPart只会显示错误信息,或者会弹出一个窗口让用户输入用户名和密码。但是看上方那个定制的WebPart,它就可以正确的将我们自己在上面图片中所设定的有权限访问的文档显示出来。
![](http://images.cnblogs.com/cnblogs_com/kaneboy/416.GIF)
能够显示文档列表,那么能不能打开这些文档呢?答案是没问题!在定制的WebPart上点击文档链接,就能够直接下载这些文档。但是注意,如果你直接在IE地址栏输入这个文档的Url,SPS是不回让你打开或下载的,因为当前用户实际是没有权限访问这个文档的。只有通过这个定制的WebPart,才可能突破SPS的限制,按照我们自己单独设定的文档访问权限来打开文档。
![](http://images.cnblogs.com/cnblogs_com/kaneboy/415.GIF)
过两天我会把代码整理一下后,把这个WebPart和使用文档放在Blog上。
以前我曾经做过一个文档管理系统的项目,底层使用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上。
相关文章推荐
- SPS对文件进行权限管理的解决方案
- 关于“SPS对文件进行权限管理的解决方案”的看法
- 您需要TrustedInstaller提供的权限才能对此文件进行更改,解决方案
- 用struts (webwork) 的action配置文件和ant进行权限配置(我所在项目的权限解决方案)
- 一些常用的场景进行描述分析(权限管理、6个典型场景)
- 【6-1-Linux Shell】常用命令之:文件和目录权限管理
- 用icacls创建自动权限管理解决方案
- PowerShell文件系统(五)管理访问权限
- 使用struts2进行文件下载以及下载权限控制的例子
- 文件和目录权限管理
- Android 6.0: 动态权限管理的解决方案
- Android 6.0 - 动态权限管理的解决方案
- IIS7虚拟目录出现HTTP错误500.19(由于权限不足而无法读取配置文件)的解决方案
- Linux服务器权限管理实践——添加用户只访问某些文件目录
- Android_动态权限管理的解决方案
- Linux权限管理:普通文件权限、特殊权限及ACL 推荐
- Oracle(5)使用profile文件对口令进行管理
- Linux系统下文件与目录权限管理
- 学神-RHEL7】 1-7-文件权限管理
- Android 注解实现权限管理 APP不再对onRequestPermissionsResult进行操作