zoukankan      html  css  js  c++  java
  • 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();

                    }

                });

            }

  • 相关阅读:
    第一个WPF
    redis pub/sub 发布订阅
    php中header函数后是否应该有exit
    redis的图形界面管理工具
    redis key和value数据类型
    螺旋式打印一个二维数组
    jquery 提示插件 cluetip
    php异常处理
    ruby Methods, Procs, Lambdas, and Closures
    ruby迭代器iterator和枚举器Enumerator
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3184523.html
Copyright © 2011-2022 走看看