sharepoint 2013 文档库eventhandle权限控制
记录一下如何在sharepoint server 2013文档库中,使用eventhandle控制文档库document library的条目item权限。
///<summary>
///已添加项.
///</summary>
public override 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();
}
});
}
最新文章
- Java类WebServer及中间件拿webshell方法总结
- SQL起别名
- Spring Framework------>;version4.3.5.RELAESE----->;Reference Documentation学习心得----->;Spring Framework概述
- GJM : Python简单爬虫入门(二) [转载]
- Git branch 和 Git checkout常见用法
- matlab中图像处理常见用法
- vc编程时说“Cannot open include file: &#39;unistd.h&#39;: No such file or directory”
- git rev-list
- Vmware 8.00 文件共享ubuntu
- 7.3.2 Using Backups for Recovery 使用备份用于恢复
- hdu - 1757 - A Simple Math Problem
- Linux 显示文本指定行内容
- POJ 2311 Cutting Game [Multi-SG?]
- DMO节点内部插入的常用方法与区别
- debug makefile 及 lint 软件质量软件
- [Uva P11168] Airport
- bzoj2946
- LeetCode难度与出现频率
- linux卸载自带jdk
- 基于spec评论作品