• {sharepoint} SetPermission


      1     using System;  
      2     using System.Collections.Generic;  
      3     using System.Linq;  
      4     using System.Text;  
      5     using Microsoft.SharePoint;  
      6       
      7     namespace CR.SharePoint.HR.Common  
      8     {  
      9         public static class PermissionManager  
     10         {  
     11       
     12             //SPGroup group = web.Groups[0];   
     13             //SPUser user = web.Users[0];   
     14             //SPUser user2 = web.EnsureUser("mangaldas.mano");   
     15             //SPUser user3 = web.EnsureUser("Domain Users");   
     16             //SPPrincipal[] principals = { group, user, user2, user3 };   
     17      
     18             #region Adding Permissions to an item  
     19       
     20             /// <summary>  
     21             /// Set Permissions  
     22             /// </summary>  
     23             /// <param name="item">SPListItem</param>  
     24             /// <param name="principals">IEnumerable</param>  
     25             /// <param name="roleType">SPRoleType</param>  
     26             public static void SetPermissions(SPListItem item, IEnumerable<SPPrincipal> principals, SPRoleType roleType)   
     27             {   
     28                 if (item != null)   
     29                 {   
     30                     foreach (SPPrincipal principal in principals)   
     31                     {   
     32                         SPRoleDefinition roleDefinition = item.Web.RoleDefinitions.GetByType(roleType);   
     33                         SetPermissions(item, principal, roleDefinition);   
     34                     }   
     35                 }   
     36             }       
     37               
     38             /// <summary>  
     39             /// Set Permissions  
     40             /// </summary>  
     41             /// <param name="item">SPListItem</param>  
     42             /// <param name="user">SPUser</param>  
     43             /// <param name="roleType">SPRoleType</param>  
     44             public static void SetPermissions(SPListItem item, SPUser user, SPRoleType roleType)   
     45             {   
     46                 if (item != null)   
     47                 {   
     48                     SPRoleDefinition roleDefinition = item.Web.RoleDefinitions.GetByType(roleType);   
     49                     SetPermissions(item, (SPPrincipal)user, roleDefinition);   
     50                 }   
     51             }     
     52               
     53             /// <summary>  
     54             /// Set Permissions  
     55             /// </summary>  
     56             /// <param name="item">SPListItem</param>  
     57             /// <param name="principal">SPPrincipal</param>  
     58             /// <param name="roleType">SPRoleType</param>  
     59             public static void SetPermissions(SPListItem item, SPPrincipal principal, SPRoleType roleType)   
     60             {   
     61                 if (item != null)   
     62                 {   
     63                     SPRoleDefinition roleDefinition = item.Web.RoleDefinitions.GetByType(roleType);   
     64                     SetPermissions(item, principal, roleDefinition);   
     65                 }   
     66             }     
     67               
     68             /// <summary>  
     69             /// Set Permissions  
     70             /// </summary>  
     71             /// <param name="item">SPListItem</param>  
     72             /// <param name="user">SPUser</param>  
     73             /// <param name="roleDefinition">SPRoleDefinition</param>  
     74             public static void SetPermissions(SPListItem item, SPUser user, SPRoleDefinition roleDefinition)   
     75             {   
     76                 if (item != null)   
     77                 {   
     78                     SetPermissions(item, (SPPrincipal)user, roleDefinition);   
     79                 }   
     80             }     
     81               
     82             /// <summary>  
     83             /// Set Permissions  
     84             /// </summary>  
     85             /// <param name="item">SPListItem</param>  
     86             /// <param name="principal">SPPrincipal</param>  
     87             /// <param name="roleDefinition">SPRoleDefinition</param>  
     88             public static void SetPermissions(SPListItem item, SPPrincipal principal, SPRoleDefinition roleDefinition)   
     89             {   
     90                 if (item != null)   
     91                 {   
     92                     SPRoleAssignment roleAssignment = new SPRoleAssignment(principal);   
     93                     roleAssignment.RoleDefinitionBindings.Add(roleDefinition);   
     94                     item.RoleAssignments.Add(roleAssignment);   
     95                 }   
     96             }  
     97      
     98             #endregion  
     99      
    100             #region Deleting all user Permissions from an item  
    101       
    102             /// <summary>  
    103             /// remove permisions  
    104             /// </summary>  
    105             /// <param name="item">SPListItem</param>  
    106             /// <param name="user">SPUser</param>  
    107             public static void RemovePermissions(SPListItem item, SPUser user)   
    108             {   
    109                 if (item != null)   
    110                 {   
    111                     RemovePermissions(item, user as SPPrincipal);   
    112                 }   
    113             }     
    114               
    115             /// <summary>  
    116             /// remove permisions  
    117             /// </summary>  
    118             /// <param name="item">SPListItem</param>  
    119             /// <param name="principal">SPPrincipal</param>  
    120             public static void RemovePermissions(SPListItem item, SPPrincipal principal)   
    121             {   
    122                 if (item != null)   
    123                 {   
    124                     item.RoleAssignments.Remove(principal);   
    125                     item.SystemUpdate();   
    126                 }  
    127             }  
    128      
    129             #endregion  
    130      
    131             #region Removing specific roles from an item  
    132       
    133             /// <summary>  
    134             /// remove permission  
    135             /// </summary>  
    136             /// <param name="item">SPListItem</param>  
    137             /// <param name="principal">SPPrincipal</param>  
    138             /// <param name="roleDefinition">SPRoleDefinition</param>  
    139             public static void RemovePermissionsSpecificRole(SPListItem item, SPPrincipal principal, SPRoleDefinition roleDefinition)   
    140             {   
    141                 if (item != null)   
    142                 {   
    143                     SPRoleAssignment roleAssignment = item.RoleAssignments.GetAssignmentByPrincipal(principal);   
    144                     if (roleAssignment != null)   
    145                     {   
    146                         if (roleAssignment.RoleDefinitionBindings.Contains(roleDefinition))   
    147                         {   
    148                             roleAssignment.RoleDefinitionBindings.Remove(roleDefinition);   
    149                             roleAssignment.Update();   
    150                         }   
    151                     }   
    152                 }   
    153             }  
    154       
    155             /// <summary>  
    156             /// remove permission  
    157             /// </summary>  
    158             /// <param name="item">SPListItem</param>  
    159             /// <param name="principal">SPPrincipal</param>  
    160             /// <param name="roleType">SPRoleType</param>  
    161             public static void RemovePermissionsSpecificRole(SPListItem item, SPPrincipal principal, SPRoleType roleType)   
    162             {   
    163                 if (item != null)   
    164                 {   
    165                     SPRoleDefinition roleDefinition = item.Web.RoleDefinitions.GetByType(roleType);   
    166                     RemovePermissionsSpecificRole(item, principal, roleDefinition);   
    167                 }   
    168             }  
    169      
    170             #endregion  
    171      
    172             #region Updating or Modifying Permissions on an item  
    173       
    174             /// <summary>  
    175             /// modify Permissions  
    176             /// </summary>  
    177             /// <param name="item">SPListItem</param>  
    178             /// <param name="principal">SPPrincipal</param>  
    179             /// <param name="roleType">SPRoleType</param>  
    180             public static void ChangePermissions(SPListItem item, SPPrincipal principal, SPRoleType roleType)   
    181             {   
    182                 if (item != null)   
    183                 {   
    184                     SPRoleDefinition roleDefinition = item.Web.RoleDefinitions.GetByType(roleType);   
    185                     ChangePermissions(item, principal, roleDefinition);   
    186                 }   
    187             }  
    188       
    189             /// <summary>  
    190             /// modify Permissions  
    191             /// </summary>  
    192             /// <param name="item">SPListItem</param>  
    193             /// <param name="principal">SPPrincipal</param>  
    194             /// <param name="roleDefinition">SPRoleDefinition</param>  
    195             public static void ChangePermissions(SPListItem item, SPPrincipal principal, SPRoleDefinition roleDefinition)   
    196             {   
    197                 SPRoleAssignment roleAssignment = item.RoleAssignments.GetAssignmentByPrincipal(principal);   
    198                   
    199                 if (roleAssignment != null)   
    200                 {   
    201                     roleAssignment.RoleDefinitionBindings.RemoveAll();   
    202                     roleAssignment.RoleDefinitionBindings.Add(roleDefinition); roleAssignment.Update();   
    203                 }   
    204             }  
    205      
    206             #endregion  
    207       
    208         }  
    209     }  
    View Code
  • 相关阅读:
    数组初始化问题calloc和memset+malloc
    C++四种类型转换
    判断回文
    Linux运维三:系统目录结构
    Linux运维二:CentOS6.6系统安装后的基本配置与优化
    Linux运维一:生产环境CentOS6.6系统的安装
    Linux /etc/issue 和 /etc/issue.net的作用和区别
    linux内核参数注释与优化
    Linux中的文件描述符与打开文件之间的关系
    Linux Wget 命令实例讲解
  • 原文地址:https://www.cnblogs.com/Areas/p/5503240.html
Copyright © 2020-2023  润新知