Я надеюсь, что вы можете решить мою проблему.
Я пытаюсь установить pemrissions уровня элемента для списка sharepoint и библиотек документов, используя обработчик событий, но я не смог этого сделать. Пожалуйста, помогите мне, это мой код. Мне нужно назначить разрешения для элемента на основе имени пользователя входа. к какой группе он принадлежит. Я не могу получить группы текущего пользователя. это мой код.
public override void ItemAdded(SPItemEventProperties properties)
{
using (SPSite _site = new SPSite(properties.WebUrl))
{
using (SPWeb spWeb = _site.OpenWeb(properties.RelativeWebUrl))
{
SPUser currentUser = spWeb.CurrentUser;
SPListItem listItem = properties.ListItem;
listItem.BreakRoleInheritance(true);
SPGroupCollection spgroup = currentUser.Groups;
foreach (SPGroup group in spgroup)
{
SPRoleAssignment roleAssignment = new SPRoleAssignment((SPPrincipal)group);
SPRoleDefinition roleDefinition = spWeb.RoleDefinitions.GetByType(SPRoleType.Contributor);
roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
listItem.RoleAssignments.Add(roleAssignment);
spWeb.AllowUnsafeUpdates = true;
listItem.Update();
spWeb.AllowUnsafeUpdates = false;
}
}
}
}