记录一下如何在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();

}

});

}

最新文章

  1. Java类WebServer及中间件拿webshell方法总结
  2. SQL起别名
  3. Spring Framework------&gt;version4.3.5.RELAESE-----&gt;Reference Documentation学习心得-----&gt;Spring Framework概述
  4. GJM : Python简单爬虫入门(二) [转载]
  5. Git branch 和 Git checkout常见用法
  6. matlab中图像处理常见用法
  7. vc编程时说“Cannot open include file: &#39;unistd.h&#39;: No such file or directory”
  8. git rev-list
  9. Vmware 8.00 文件共享ubuntu
  10. 7.3.2 Using Backups for Recovery 使用备份用于恢复
  11. hdu - 1757 - A Simple Math Problem
  12. Linux 显示文本指定行内容
  13. POJ 2311 Cutting Game [Multi-SG?]
  14. DMO节点内部插入的常用方法与区别
  15. debug makefile 及 lint 软件质量软件
  16. [Uva P11168] Airport
  17. bzoj2946
  18. LeetCode难度与出现频率
  19. linux卸载自带jdk
  20. 基于spec评论作品

热门文章

  1. 阅读安卓在线(Android)系统源代码
  2. css3中display和box小结
  3. php——SoapClient访问webservice
  4. Nodejs使用coffeescript编写的用户注册/登陆代码(MySQL)
  5. 新手可以学习cocos2dx 3.0 组态(两)
  6. 学习使用简单的php
  7. VMware安装CentOS 图文教程
  8. 九度OJ 1035:找出直系亲属(二叉树)
  9. C#如何将Build成功的程序集Copy到上一层目录
  10. 读书笔记—CLR via C#字符串及文本