Share via


Gewusst wie: Vermeiden von Seitenüberprüfungsfehlern mithilfe von SharePoint-APIs in Webanwendungen

Letzte Änderung: Donnerstag, 1. Oktober 2009

Gilt für: SharePoint Foundation 2010

Webanwendungen werden in SharePoint Foundation unter der Anwendungspoolidentität ausgeführt. Aus Sicherheitsgründen gelten für die meisten SharePoint Foundation-APIs Beschränkungen, wenn von einer Webanwendung aus auf sie zugegriffen wird. Daher können diese APIs eine Reihe von Seitenüberprüfungsfehlern auslösen. Dies können Sie vermeiden, indem Sie Ihre Webanwendung wie unten beschrieben aktualisieren.

Aktualisieren der Anwendung

So aktualisieren Sie Ihre Webanwendung, um Seitenüberprüfungsfehler zu vermeiden:

1. Führen Sie die Webanwendung im SharePoint-Kontext aus.

Erstellen Sie dazu ein virtuelles Verzeichnis im Verzeichnis _layouts einer beliebigen SharePoint-Website, und hosten Sie unter diesem Verzeichnis die Webanwendung.

2. Stellen Sie sicher, dass der Anwendungspool konsolidiert ist.

Achten Sie darauf, dass die Webanwendung unter dem gleichen Anwendungspool ausgeführt wird wie die SharePoint-Zentraladministration. Dadurch wird sichergestellt, dass auf die SharePoint Foundation-Verwaltungsfunktionen, z. B. Inhaltsbereitstellung, Benutzerprofilverwaltung usw., über den Anwendungspool der Zentraladministration zugegriffen wird.

3. Fügen Sie der ASPX-Seite ein Formulardigest-Steuerelement hinzu.

Auf die meisten APIs kann nach Ausführen der obigen Schritte 1 und 2 über die Webanwendung zugegriffen werden. Für bestimmte SharePoint Foundation-APIs und -Funktionen ist jedoch möglicherweise eine noch strengere Sicherheitsüberprüfung erforderlich. Wenn Sie nach dem Durchführen der obigen Schritte immer noch einen Sicherheitsüberprüfungsfehler erhalten, müssen Sie in der ASPX-Seite ein SharePoint Foundation-Formulardigest-Websteuerelement hinzufügen. Das Formulardigest-Steuerelement überprüft die Webanwendung, wenn sie versucht, auf die SharePoint Foundation-APIs zuzugreifen. Folglich gilt die Webanwendung als sichere Anwendung und kann auf SharePoint Foundation zugreifen. Damit Sie das Formulardigest-Websteuerelement verwenden können, müssen Sie ein Tagpräfix für SharePoint Foundation registrieren und dann das Formulardigest-Steuerelement in der ASPX-Seite hinzufügen.

Im folgenden Codebeispiel wird die Registrierung des Tagpräfixes veranschaulicht:

<%@ Register Tagprefix="SharePoint" 
   Namespace="Microsoft.SharePoint.WebControls" 
   Assembly="Microsoft.SharePoint 
   Version=14.0.0.0
   Culture=neutral, 
   PublicKeyToken=71e9bce111e9429c" %>

Fügen Sie jetzt das SharePoint Foundation-Formulardigest-Steuerelement der Seite hinzu:

<SharePoint:FormDigest ID="fd" runat="server" PageUri=""/>

Sie müssen die PageURI-Eigenschaft im Formulardigest-Steuerelement auf die Seite festlegen, auf der sich das Steuerelement befindet. Andernfalls erhalten Sie einen Fehler wegen eines Null-Objektverweises.