问题描述
SPSecurity.RunWithElevatedPrivileges(delegate(){using(SPSitesite=newSPSite(strSiteUrl)){using(SPWebweb=site.OpenWeb(strWebUrl)){site.AllowUnsafeUpdates=true;web.AllowUnsafeUpdates=true;SPFolder_folder=web.GetFolder(_folderUrl);_folder.Item.ResetRoleInheritance();_folder.Item.BreakRoleInheritance(true);while(_folder.Item.RoleAssignments.Count>0){_folder.Item.RoleAssignments.Remove(0);}Sharepoint版本2010fundation问题一:_folder.Item.RoleAssignments.Remove(0);不起效果,并没有除到文件夹权限.问题二:尝试如下方法也不起效果.SPGroupspGroup=web.SiteGroups[groupname.TrimStart('').TrimEnd('')];_folder.Item.RoleAssignments.Remove(spGroupasSPPrincipal);并且尝试_folder.Item.SystemUpdate();_folder.Item.Update();移除权限不起效果.但是对文件夹加权限是可以的.
解决方案
解决方案二:
手头没有环境测试,你试一下_folder.Item.BreakRoleInheritance(false,true)这个直接移除所有的权限:https://msdn.microsoft.com/en-us/library/ee573144.aspx
解决方案三:
权限操作我记得有两个RoleAssignment和RoleDefinition网上找个例子看一看
解决方案四:
引用1楼shrenk的回复:
手头没有环境测试,你试一下_folder.Item.BreakRoleInheritance(false,true)这个直接移除所有的权限:https://msdn.microsoft.com/en-us/library/ee573144.aspx
不行._folder.Item.BreakRoleInheritance(false,true)试过了.如果你那边有sharepoint2010的环境,你可以在library下面简历一个folder来试试._folder.Item.RoleAssignments.Remove(0);移除不了folder的权限的.
解决方案五:
引用3楼tanyuanzhen的回复:
Quote: 引用1楼shrenk的回复:
手头没有环境测试,你试一下_folder.Item.BreakRoleInheritance(false,true)这个直接移除所有的权限:https://msdn.microsoft.com/en-us/library/ee573144.aspx不行._folder.Item.BreakRoleInheritance(false,true)试过了.如果你那边有sharepoint2010的环境,你可以在library下面简历一个folder来试试._folder.Item.RoleAssignments.Remove(0);移除不了folder的权限的.
试试这个:http://www.c-sharpcorner.com/uploadfile/Roji.Joy/how-to-make-sharepoint-document-library-folder-unique-permission-programmatically/