sharepoint 2013 文档库eventhandle权限控制
记录一下如何在sharepoint server 2013文档库中,使用eventhandle控制文档库document library的条目item权限。
///<summary>
///正在添加项.
///</summary>
publicoverride void ItemAdding(SPItemEventProperties properties)
{
base.ItemAdding(properties);
SPSecurity.RunWithElevatedPrivileges(delegate(){
if(properties.ListTitle =="文档")
{
string DocIcon =System.IO.Path.GetExtension(properties.AfterUrl);
ArrayList al =GetExtensionByFile();
for (int i = 0; i <al.Count; i++)
{
if (DocIcon ==al[i].ToString())
{
properties.Cancel =true;
properties.ErrorMessage ="不允许上载" + DocIcon +"文件!";
break;
}
}
}
});
}
private ArrayList GetExtensionByFile()
{
ArrayList al =newArrayList();
al.Add(".aspx");
al.Add(".jsp");
al.Add(".asp");
al.Add(".exe");
return al;
}
///<summary>
///已添加项.
///</summary>
publicoverride void ItemAdded(SPItemEventProperties properties)
{
base.ItemAdded(properties);
SPSecurity.RunWithElevatedPrivileges(delegate()
{
if(properties.ListTitle =="共享文档1")
{
SPSite site =newSPSite(properties.SiteId);
SPWeb web =site.OpenWeb();
web.AllowUnsafeUpdates = true;
SPList list =web.Lists[properties.ListId];
SPFile file =list.GetItemById(properties.ListItemId).File;
SPListItem item = file.Item;
//权限断开,并且移除掉其它权限
if(!item.HasUniqueRoleAssignments)
{
item.BreakRoleInheritance(false);
}
//添加用户权限
SPUser CurrentUser =web.EnsureUser(properties.UserLoginName);
SPRoleAssignment MyRoleAssignment =newSPRoleAssignment(CurrentUser);
MyRoleAssignment.RoleDefinitionBindings.Add(web.RoleDefinitions.GetByType(SPRoleType.WebDesigner));
item.RoleAssignments.Add(MyRoleAssignment);
CurrentUser =web.EnsureUser("kw\\cxx");
MyRoleAssignment = newSPRoleAssignment(CurrentUser);
MyRoleAssignment.RoleDefinitionBindings.Add(web.RoleDefinitions.GetByType(SPRoleType.WebDesigner));
item.RoleAssignments.Add(MyRoleAssignment);
item.Update();
}
});
}
sharepoint 2013 文档库eventhandle权限控制相关推荐
- SharePoint 2013 文档库中PPT转换PDF
SharePoint 2013 文档库中PPT转换PDF 原文:SharePoint 2013 文档库中PPT转换PDF 通过使用 PowerPoint Automation Services,可以从 ...
- 迁移TFS,批量将文档导入SharePoint 2013 文档库
一.需求分析 公司需要将存在于旧系统(TFS)所有的文档迁移至新系统(SharePoint 2013).现已经将50G以上的文档拷贝到SharePoint 2013 Server上.这些文档是一些不规 ...
- sharepoint 2013 文档库 资源管理器打开报错 在文件资源管理器中打开此位置时遇到问题,将此网站添加到受信任站点列表,然后重试。
我们在使用sharepoint 2013的文档库或者资源库的时候,经常会需要用到使用"资源管理器"来管理文档,但是有时候,点击"使用资源管理器打开",会提示如下 ...
- SharePoint 2013 文档库“样式”变了
有朋友反馈说文档库的样式变了. 经查证,原来有人修改了视图的"样式":库设置-视图-样式,改为默认即可. 另外,如果编辑页面,编辑web部件的属性,在"杂项"勾 ...
- 文档管理系统中权限控制实现方案
整体思路 文档管理的权限控制与常规的功能权限和数据权限都不同,有其自己的特色,异常复杂. 1.权限项相对固化,对于文件夹,有创建.删除.更名.查看4个操作项:对于文件,则通常有上传.下载.删除.更名. ...
- SharePoint 2010文档库批量下载文档的实现
在SharePoint 2010文档库中,结合单选框,在Ribbon中提供了批量处理文档的功能,比如,批量删除.批量签出.批量签入等,但是,很遗憾,没有提供批量下载,如图: 若选中多个文档后,会发现D ...
- O365(世纪互联)SharePoint 之文档库使用小记
前言 当O365越来越流行的时候,大家往往更多使用的是传统的Office功能,有太少订阅用户能触及到O365的一个非常棒的功能,叫做SharePoint online. 下面,我们就以图文并茂的方式, ...
- SharePoint 2016文档库所在数据库表的说明(文档库数据库)
突然被客户问一个问题,说数据库存在哪一个表,这个原本是开发的事,竟然文档我了,好吧这里记录一下,以便记忆给客户汇报. SharePoint 数据库表说明: Features Table that ho ...
- sharepoint 2013文档上传最大50M怎么改啊
当您尝试将一个大文件上载到 Windows SharePoint Services 3.0 站点上的文档库可能出现:"请求超时"错误 原因 如果您尝试上载的文件大小超过 50 兆 ...
最新文章
- 简历这样写,技术人都不直男了!
- [转]撞车之后,不要傻里傻气的!
- 兼顾FPGA和单片机
- JAVA——基于simple-robot 机器人的定时任务事件提醒解决方案
- SpringTest2
- virtualbox 中ubantu虚拟机范文win7文件夹
- linux内核参数调优,缓冲区调整,tcp/udp连接管理,保持,释放优化,gossary,terms
- 2.5.PHP7.1 狐教程-【数据类型】
- 深入浅出的mysql第三版和第二版的区别_深入浅出mysql和高性能mysql哪本好
- android通过代码设置铃声_iOS、Android数据传输管理工具
- wake on LAN: 三分钟实现从Linux和Windows设备上远程唤醒设备
- java开发运行环境的安装步骤_配置java开发运行环境的步骤
- java 数字转大写_数字转大写(java)
- html个性签名,经典的个性签名设计
- /etc/login.defs 文件内容及其解释
- jQuery DOM操作 实现本地表格查询
- 读取EXCEL表格数据到MATLAB成为矩阵
- tomcat守护进程
- python(10): Signal
- 09.2. 长短期记忆网络(LSTM)
热门文章
- 从零开始入门 K8s | Kubernetes API 编程利器:Operator 和 Operat
- 百度地图地图及定位实现
- P5200 [USACO19JAN]Sleepy Cow Sorting G
- 即墨德馨小学鸿蒙,【最美校园竞晒】青岛市即墨区德馨小学
- AcWing寒假每日一题
- 用计算机怎样搜wifi网,如何用电脑设置wifi?用电脑设置wifi方法介绍
- Linux虚拟机CentOS7挂机问题
- Prescan(六):prescan设置不停绕圈的障碍车
- 从1到N,第十二届中国IDC产业年度大典在京启幕
- 微信「看一看」多模型内容策略与召回