记得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。演绎或用于商业目的,但是必须保留本文的署名软件人生(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。

 
   

Sharepoint 2013列表视图和字段权限扩展插件(免费下载)!的更多相关文章

  1. 在 SharePoint 2013 中针对地理位置字段创建地图视图

    在 SharePoint 2013 中针对地理位置字段创建地图视图 了解如何通过在 SharePoint 2013 列表中使用地图视图来显示位置信息.您可以通过 SharePoint 用户界面 (UI ...

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

    1.给测试列表添加查阅项字段,100个,代码如下: 2.插入测试数据的方法,注意查阅项字段的格式,代码如下: 3.插入10w条数据,时间花费如下(不建议List[LISTNAME].Items.Add ...

  3. sharepoint 2013 列表和库标签 元数据导航配置(2)

    接前面提到的,如何创建一个术语库.sharepoint 2013 列表和库标签 元数据导航配置(1), 现在要做的,就是如何在自定义或者文档库中使用这个术语库,实现标签功能,通过这些标签,找到对应的文 ...

  4. SharePoint 2013 列表启用搜索

    转载自:http://www.cnblogs.com/jianyus/p/3470117.html SharePoint 2013列表搜索的设置,只是进行完全爬网,就可以使用.如果开启爬网不是很熟练可 ...

  5. SharePoint 2013 日历视图兼容性问题

    在IE11上访问SharePoint 2013 calendar视图,发现加入兼容性视图以后访问,正常,如下图: 不加入兼容性视图IE11访问,出现兼容性问题,如下图: 因为有些环境有问题,有些环境没 ...

  6. SharePoint 2013 日期和时间字段格式设置

    前言 最近碰到一个需求,用户希望修改日期和时间字段的格式,因为自己的环境是英文的,默认的时间格式是[月/日/年]这样的格式,我也是碰到这个问题才知道,这是美式的时间格式,然而用户希望变成英式的时间格式 ...

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

    本文主要介绍SharePoint列表库的效率问题,一直以来以为阙值5k,超过会线性下降,需要分文件夹存放:或许这是之前版本的描述,但是2013版本通过测试,真心不是这么一回事儿. 下面,简单介绍下自己 ...

  8. Sharepoint 2013 user permissions(用户权限)

     Read: This permission level gives you read-only access to the website. Contribute:  In addition to ...

  9. VS 2013 Preview 自定义 SharePoint 2013 列表 之 两个Bug

    SharePoint 2013 已RTM了,对于程序员来说又要了解新功能了,同时 VS 2013 也将要 RTM了,两者同时应用定会有不新功能,我们先从 自定义 列表开始. SharePoint 20 ...

随机推荐

  1. 深入浅出OOP(二): 多态和继承(继承)

    本文是深入浅出OOP第二篇,主要说说继承的话题. 继承的介绍 在OOP中,继承有如下的定义: 继承是一种OOP的机制,用于派生继承预定义的类 在这个继承关系中,预定义的类是基类,新类是子类 继承常常用 ...

  2. php闭包函数简析

    闭包函数(closures)也叫匿名函数,使用js的童鞋应该比较熟悉.PHP5.3开始引入了闭包的特性. 声明一个匿名函数是: $func = function() { }; //带结束符 匿名函数因 ...

  3. 更新日志 - fir.im 主题壁纸来了

    fir.im 产品开发团队最近主要在优化应用管理后台和 BugHD 后台,新版应用管理后台很快会与大家见面. 本周其他更新内容简单概述如下: 1.fir.im 工具页添加壁纸主题包 有很多用户很喜欢 ...

  4. android: Android Notification

    Notification即通知,用于在通知栏显示提示信息. 在较新的版本中(API level  > 11),Notification类中的一些方法被Android声明deprecated(弃用 ...

  5. 创建Activiti项目

    1.创建项目 2.导入Activiti的jar包 项目上右击创建lib文件夹 将jar包复制进lib文件夹 3.导入数据库连接jar包 4.使用代码创建Activiti用来存放流程数据的23张表 pa ...

  6. phpmyadmin导入sql数据的纠结

    今天准备往phpstudy的mysql导入数据,超过2M,提示" 没有接收到要导入的数据.可能是文件名没有提交,也可能是文件大小超出 PHP 限制.参见 FAQ 1.16. " 折 ...

  7. HTML5手机APP开发入门(2)

    HTML5手机APP开发入门(2) 课程内容 使用IonicFramework v2 + angular 2 完成一个简单的联系人列表的操作,有三个页面: ListPage,DetailPage,Ad ...

  8. CGI综述

    参考: 详说fastcgi,php-fpm的区别:http://segmentfault.com/q/1010000000256516 什么是CGI.FastCGI.PHP-CGI.PHP-FPM.S ...

  9. Jmeter报告优化之New XSL stylesheet

    Jmeter默认的报告展示的信息比较少,如果出错了,不是很方便定位问题.由Jmeter默认报告优化这篇文章可知,其实由.jtl格式转换为.html格式的报告过程中,style文件起了很关键的作用.下面 ...

  10. nodejs express 框架解密5-视图

    本文档是基于express 3.4.6 的 在我们的代码中,渲染模板大致是这样写的 exports.index = function(req, res){ res.render('index', { ...