public
void
SetSPListItemUserPermissions(SPListItem listItem, SPUser user, SPRoleType roleType)
{
//Break role inheritance
if
(!listItem.HasUniqueRoleAssignments)
listItem.BreakRoleInheritance(
false
);
listItem.Update();
//Create new role
var roleDefinition = listItem.Web.RoleDefinitions.GetByType(roleType);
var roleAssignment =
new
SPRoleAssignment(user);
roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
//Assign new role
listItem.RoleAssignments.Add(roleAssignment);
}
RestoreSPListItemUserPermissions(SPListItem listItem)
(listItem.HasUniqueRoleAssignments)
listItem.ResetRoleInheritance();
CreateNewPermissionsLevel(SPWeb web,
string
title,
description, SPBasePermissions basePermissions,
bool
copyRoleAssignments,
keepRoleAssignments)
(!web.HasUniqueRoleDefinitions)
web.RoleDefinitions.BreakInheritance(copyRoleAssignments, keepRoleAssignments);
web.Update();
var roleDefinition =
SPRoleDefinition
Name = title,
Description = description,
BasePermissions = basePermissions
};
web.RoleDefinitions.Add(roleDefinition);
Fernando Lugão Veltem edited Revision 7. Comment: removed en-US from the title
Gokan Ozcifci edited Revision 6. Comment: Content
Patris_70 edited Revision 4. Comment: added en-US title
Good one