Rechteerweiterungen

Letzte Änderung: Mittwoch, 7. April 2010

Gilt für: SharePoint Foundation 2010

Mithilfe von Rechteerweiterungen, einem in Windows SharePoint Services 3.0 neu eingeführten Feature, können Sie programmgesteuert Aktionen im Code mit einer höheren Berechtigungsstufe ausführen. Mit der SPSecurity.RunWithElevatedPrivileges-Methode kann ein Delegat bereitgestellt werden, von dem eine Teilmenge des Codes im Kontext eines Kontos mit höheren Berechtigungen als denen des aktuellen Benutzers ausgeführt wird.

In der Regel wird RunWithElevatedPrivileges wie folgt verwendet:

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    // Do things by assuming the permission of the "system account".
});

Häufig müssen Sie zum Ausführen von Aktionen in SharePoint ein neues SPSite-Objekt abrufen, durch das die Änderungen bewirkt werden. Ein Beispiel:

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    using (SPSite site = new SPSite(web.Site.ID))
    {
       // Do things by assuming the permission of the "system account".
    }
});

Obwohl Rechteerweiterungen eine leistungsstarke Technik zum Verwalten der Sicherheit bieten, sollten sie mit Vorsicht verwendet werden. Sie sollten keine direkten, nicht kontrollierten Mechanismen für Personen mit niedrigen Rechten verfügbar machen, die ihnen das Umgehen der ihnen erteilten Berechtigungen ermöglichen.

Wichtiger HinweisWichtig

Wenn die an RunWithElevatedPrivileges übergebene Methode Schreibvorgänge beinhaltet, sollte vor dem Aufruf von RunWithElevatedPrivileges ein Aufruf von SPUtility.ValidateFormDigest() oder SPWeb.ValidateFormDigest() erfolgen.

Siehe auch

Konzepte

Anspruchsbasierte Identität in SharePoint