Sharepoint 2013列表视图和字段权限扩展插件!

记得2014年春节期间,有博客园的网友通过QQ向我咨询Sharepoint 2013列表视图和字段权限扩展,因为之前他看到我博客介绍Sharepoint 2010列表视图和字段的权限控制扩展使用,问有没有这方面的列表权限扩展插件?我告诉他Sharepoint 2010的列表权限扩展插件并不能在Sharepoint 2013中使用,不能向上兼容的,且Sharepoint 2013的功能也有所升级了,系统底层架构已发生了一些变化。由于他需要在Sharepoint 2013项目中使用到此功能,有大量的列表视图和字段需要根据权限去控制,因此委托我进行开发此扩展插件,并通过淘宝交易!呵呵,我从没想过通过博客还可以进行商业化的小项目,其实还有很多好东西可以分享,但是觉得写博客实在太费时间了,所以懒得写,实际上写博客一方面可以进行分享,另一方面对自己也可以起到一个备忘的功能,因为之前解决了很多技术难题,没有记录下来,时间长了,也就忘记了,等要用了还得重新来一遍,可能更费时间了。言归正传,一开始研究了原来开源的Sharepoint 2010列表视图和字段权限扩展插件,发现无法升级到Sharepoint 2013,所以放弃了,重新进行开发设计,并于14年3月初完成开发并递交了Sharepoint 2013列表视图和字段的权限扩展插件交付物,并通过了网友的验收,虽然将近一年前本人开发的商业插件,现在供有需要的免费提供下载使用。最近发现也有网友通过研究Sharepoint 2010列表视图和字段权限扩展插件把此插件升级到Sharepoint 2013的版本,但通过测试发现了一些问题,主要问题如下:无法在列表多行状态下控制字段的只读和隐藏,无法隐藏没有权限的视图。

具体测试如下:

而本人开发Sharepoint 2013列表视图和字段权限扩展插件,彻底解决了多行编辑的字段只读和隐藏功能,但对于没有权限视图的隐藏只做到了部分,解决了在多行的列表头上的视图上,但菜单视图选项还没彻底解决,不过不影响使用。

     一、部署RJRSFieldViewPermission.wsp插件

     把RJRSFieldViewPermission.wsp包放到SharePoint管理中心的服务器上,如在C盘根目录下。

在SharePoint的管理中心中打开SharePoint 2013 Management Shell(以管理员身份运行),输入

Add-SPSolution C:\RJRSFieldViewPermission.wsp按回车,具体如下图:

成功后,打开SharePoint管理中心-》系统设置-》管理场解决方案,具体如下图:

部署RJRSFieldViewPermission.wsp即可,如下图:

进入SharePoint的前端服务器的网站,在网站集中激活下图一个扩展即可,如下图:

完成后,就会在网站的列表设置中多出两个设置:字段权限、视图权限,如下图:

二、部署SharePoint.WCFService.SPCustomFieldPermission插件

把SharePoint.WCFService.SPCustomFieldPermission.wsp包放到SharePoint管理中心的服务器上,如在E盘根目录下。

在SharePoint的管理中心中打开SharePoint 2013 Management Shell(以管理员身份运行),输入

Add-SPSolution E:\SharePoint.WCFService.SPCustomFieldPermission.wsp按回车,具体如下图:

成功后,打开SharePoint管理中心-》系统设置-》管理场解决方案,具体如下图:

部署SharePoint.WCFService.SPCustomFieldPermission.wsp即可,如下图:

三、人工设置多行编辑状态下列表字段权限和视图权限

注意在设置之前必须部署好RJRSFieldViewPermission.wsp和SharePoint.WCFService.SPCustomFieldPermission插件,否则不会多行编辑列表字段权限和隐藏没权限的视图不会起作用。

  1)、以管理员登录在Sharepoint网站的母版页中上传jquery-1.11.0.min.jsSPCustomFieldPermission.jsSPCustomViewPermission.js,具体如下:

以上传SPCustomFieldPermission.js为例进入SharePoint的前端服务器的网站,在网站设置—》Web 设计器库—》母版页,如下图:

进入母版页后,点击“上传文档”,如下图:

按“确定”后,按默认参数设置即可,如下图:

  jquery-1.11.0.min.jsSPCustomViewPermission.js上传也是如此,不再赘述。

也可以通过Sharepoint Desinger工具进行操作,如下图:

2)、完成以上步骤后,在相应列表的所有相关视图中设置JS链接即可。

以test列表的默认视图“所有项目”为列,其他视图的设置相同,具体如下:

点击“编辑网页”,如下图:

打开后,选择WEB部件àWeb部件属性并点击,如下图:

在test部件属性中杂项的JS链接输入以下~site/_catalogs/masterpage/jquery-1.11.0.min.js|~site/_catalogs/masterpage /SPCustomViewPermission.js|~site/_catalogs/masterpage/SPCustomFieldPermission.js ,完成后停止编辑即可,如下图:

注意如果有一个列表有多个视图,每个视图都需要进行以上步骤的相同设置。

完成后,如以tongzr身份登录,多行编辑状态下,bak字段只读,订单号字段是隐藏的,效果如下:

   test字段权限设置如下:

隐藏没权限的视图效果如下:

   Test视图权限设置如下:

三、Sharepoint 2013 列表字段权限查询和设置工具。

使用该工具前必须在客户端电脑上安装.net framework 4.0以上,该工具不需要登录到sharepoint服务器中运行,只要在PC客户端就可以运行,是以远程方式进行访问sharepoint。在功能方面,提供了列表视图权限和列表字段权限查询功能及批量设置列表视图和字段权限的JS链接功能。此工具不免费提供,如有需要可以与本人联系。

安装完成后,打开,输入相应访问sharepoint的站点和身份认证信息,如下图:

  列表视图权限操作说明如下:

1.点击“查询”获取列表视图权限数据,如下图:

2.导出到Excel中,如下图:

3.点击“清空所有列表视图权限”将清空所有列表视图权限,如下图:

列表字段权限操作与列表视图权限操作相同,不再赘述:

批量部署列表视图和字段权限JS链接

注意在设置之前必须部署好RJRSFieldViewPermission.wspSharePoint.WCFService.SPCustomFieldPermission插件,否则不会多行编辑列表字段权限和隐藏没权限的视图不会起作用。

此模块是为了解决在视图权限方面,隐藏没有权限视图,同时在字段权限方面,在字段多行编辑状态下,字段只读和隐藏功能,通过此工具可以批量设置,特别是一个列表有多个视图的情况下,大大提高了部署效率。

1.点击“查询”获取列表数据,如下图:

2.点击“部署”批量部署所选列表视图和字段权限的JS链接,如下图:

2.点击“重置”批量重置所选列表视图和字段权限默认的JS链接,如下图:

Sharepoint2013列表视图和字段权限扩展插件下载

同时欢迎关注本人的微信订阅号QYXXHQY,不定期更新企业信息化前沿相关技术和应用,欢迎扫描关注,二维码如下:


本博客为软件人生原创,欢迎转载,转载请标明出处:http://www.cnblogs.com/nbpowerboy/p/4251870.html。演绎或用于商业目的,但是必须保留本文的署名软件人生(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。

时间: 2024-08-28 05:54:03

Sharepoint 2013列表视图和字段权限扩展插件!的相关文章

SharePoint 2013 日历视图兼容性问题

在IE11上访问SharePoint 2013 calendar视图,发现加入兼容性视图以后访问,正常,如下图: 不加入兼容性视图IE11访问,出现兼容性问题,如下图: 因为有些环境有问题,有些环境没有问题,对比了一下,发现打补丁kb3054792,打完补丁,重启即可: 补丁地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=47055 特别的,在解决这个问题之前的疯狂谷歌过程中,发现也有类似情况,要么加入兼容性视图,要么开启浏览

SharePoint 2013 单一页面赋设计权限

本文介绍SharePoint的使用中,断开单一页面权限,给用户编辑权限以及操作中遇到的问题,希望给相关需要的人一个参考. 1.首先进入页面库,找到我们的页面,进入共享,如下图: 2.在弹出的窗口中选择高级,如下图: 3.在进入权限编辑页面,首先断开当前页面的权限继承,如下图: 4.然后勾选所有继承的权限,删除,如下图: 5.而后点击Grant Permission,也就是授权,如下图: 6.按照我的理解,该用户对站点有访问权限,对单独页面具有编辑权限,就可以个性化该页面,但是添加一些WebPar

Sharepoint 2013 user permissions(用户权限)

 Read: This permission level gives you read-only access to the website. Contribute:  In addition to all the permissions included in the Read permission level, the Contribute permission level allows you to create, edit, and delete items in existing li

SharePoint 2013 列表关于大数据的测试<二>

1.给测试列表添加查阅项字段,100个,代码如下: 2.插入测试数据的方法,注意查阅项字段的格式,代码如下: 3.插入10w条数据,时间花费如下(不建议List[LISTNAME].Items.Add,会比较慢): 4.查看列表设置,数据有10w条,阙值设置500w,如下图: 5.进入AllItems页面,发现查阅项字段数大于限制(8个),如下图: 6.修改查阅项限制数目(修改为500),如下图: 7.数据量10w,查阅项字段100个时的测试数据,如下表格: 表一:分页30,LookUp字段50

SharePoint 2013 列表关于大数据的测试

本文主要介绍SharePoint列表库的效率问题,一直以来以为阙值5k,超过会线性下降,需要分文件夹存放:或许这是之前版本的描述,但是2013版本通过测试,真心不是这么一回事儿. 下面,简单介绍下自己的测试过程: 1.创建一个测试列表,Data Test如下图: 2.创建控制台程序,添加插入数据代码,如下: 3.添加的代码: using (SPWeb web = site.OpenWeb()) { SPList list = web.Lists["Data Test"]; String

SharePoint 2013 列表多表联合查询

在SharePoint的企业应用中,遇到复杂的逻辑的时候,我们会需要多表查询:SharePoint和Sql数据表一样,也支持多表联合查询,但是不像Sql语句那样简单,需要使用SPQuery的Joins属性来完成. 下面,我们通过一个简单的例子,为大家演示一下如何使用SPQuery通过查阅项字段来进行两个列表的联合查询. 1.首先创建测试列表,City是城市,然后有一个列表叫做Address,是地址,通过查阅项Location进行关联,CityID字段是Number类型,这里代表城市的ID号: 创

Sharepoint 2013 列表使用JS Link

使用JS Link可以向Sharepoint List注册脚本,重写Field模板,使得对于符合条件的字段改变格式和样式.但是有一个问题是,页面postback的话,JS不会被触发,不知道怎么解,有知道的留言下,谢谢. webpart中或者是列表中添加JS Link JS Link地址的格式如下,不能写相对路径或者绝对路径,不然Alert不出来的. ~sitecollection/SiteAssets/js/xxxxxx.js 实例代码,功能是,一个Url 类型的字段,如果字段的文本日期是这个月

SharePoint 2013 JavaScript 对象判断用户权限

场 景 近期有个场景,判断当前用户对项目有没有编辑权限,使用JavaScript完成,弄了好久才弄出来,分享一下,有需要的自行扩展吧,具体如下: 代 码 function getPermissions() { var mycontext = new SP.ClientContext(); var mysite = mycontext.get_web(); var mylist = mysite.get_lists().getByTitle('Demo'); myitem = mylist.get

SharePoint 2013 JavaScript 对象推断用户权限

?场 景 最近有个场景,推断当前用户对项目有没有编辑权限,使用JavaScript完毕.弄了好久才弄出来.分享一下,有须要的自行扩展吧,详细例如以下: 代 码 function getPermissions() { var mycontext = new SP.ClientContext(); var mysite = mycontext.get_web(); var mylist = mysite.get_lists().getByTitle('Demo'); myitem = mylist.