• Metoda : AddRoleForUser.
  • Scenariusz: Ustawienie uprawnień czytania (nazwa roli "Czytanie") dla użytkownika : "Testowy.Użytkownik" z zachowaniem uprawnień listy dla dodanego elementu listy.

/// <summary>
/// An item was added.
/// </summary>
public override void ItemAdded(SPItemEventProperties properties)
{
    base.ItemAdded(properties);
    RoleAssignment.AddRoleForUser(properties.Web, properties.ListItem, properties.Web.RoleDefinitions["Czytanie"], properties.Web.SiteUsers["Domena:Testowy.Użytkownik"], true);
}
  • Metoda : RemoveAllRolesForUser.
  • Scenariusz: Usunięcie wszystkich uprawnień dla użytkownika : "Testowy.Użytkownik" z edytowanego elementu listy.

/// <summary>
/// An item was Updated.
/// </summary>
public override void ItemUpdated(SPItemEventProperties properties)
{
    base.ItemUpdated(properties);
    if (!properties.ListItem.HasUniqueRoleAssignments)
    {
       RoleAssignment.BreakItemRoleInheritance(properties.Web, properties.ListItem, true);
    }
    RoleAssignment.RemoveAllRolesForUser(properties.ListItem, properties.Web.SiteUsers["Domena:Testowy.Użytkownik"]);
}
  • Metoda : RemoveRoleForUser.
  • Scenariusz: Usunięcie uprawnienia czytania (nazwa roli "Czytanie") dla użytkownika : "Testowy.Użytkownik" z edytowanego elementu listy.

/// <summary>
/// An item was Updated.
/// </summary>
public override void ItemUpdated(SPItemEventProperties properties)
{
    base.ItemUpdated(properties);
    if (!properties.ListItem.HasUniqueRoleAssignments)
    {
       RoleAssignment.BreakItemRoleInheritance(properties.Web, properties.ListItem, true);
    }
    RoleAssignment.RemoveRoleForUser(properties.ListItem, properties.Web.RoleDefinitions["Czytanie"], properties.Web.SiteUsers["Domena:Testowy.Użytkownik"]);
}

Uwaga

Pobieranie SPUsera z Site po przez properties.Web.SiteUsers["Domena:Testowy.Użytkownik"] może wygenerować błąd. Spowodowany jest on tym że SP różnie zapisuje login użytkownika, to tej pory spotkałem się z trzema wersjami:
  • Domena:Login
  • Domena\Login
  • Login

Last edited Apr 7, 2010 at 1:48 PM by Nidhogg, version 2

Comments

No comments yet.