Um für Sharepoint eine Seite zu entwickeln, welche immer unter derselben Adresse erreichbar ist, eignet sich eine Application Page. Diese kann man zum Beispiel für die Konfiguration oder für einen Loginbereich nutzen. Weiterhin kann eine Application Page für eigenen Code, jedoch nicht für Webparts oder WebPart-Zonen, genutzt werden. Typischerweise wird der Code-Behind-Teil als DLL im GAC bereitgestellt und die Seite ist über den _layouts-Pfad erreichbar.

Grundsätzlich sollte von der Klasse LayoutsPageBase abgeleitet werden, wenn eine Application Page erstellt werden soll. Denn damit ist ein Zugriff auf die derzeitige Site bzw. die derzeitige SiteCollection recht einfach möglich. Zudem haben nur Nutzer zu der Seite Zugang, die schon vorher authentifiziert wurden.

public partial class ApplicationPage1 : LayoutsPageBase

{

protected void Page_Load(object sender, EventArgs e)

{

}

}

In wenigen Fällen in denen auch anonyme Nutzer Zugriff auf die Seite haben sollen, empfiehlt sich die Verwendung der UnsecuredLayoutsPageBase, da hier nicht auf Berechtigung geprüft wird.

public partial class ApplicationPage2 : UnsecuredLayoutsPageBase

{

protected void Page_Load(object sender, EventArgs e)

{

}

}

2 Comments

  1. avatar

    Steffen Schindler

    Antworten

    Hallo Ayoub, bei unserem Fall war es so, dass wir nur eine interne Applicationpage für alle Nutzer freischalten wollten und keinen komplett anonymen Zugriff ermöglichen wollten. Für den Fall, dass man auf die Seite externen Zugriff erlauben möchte, hast Du mit Deinem Kommentar natürlich recht. Dann sollte man diesen Wert auf ‘true’ setzen, da bei der UnsecuredLayoutsPageBase der Standardwert für AllowAnonymousAccess ‘false’ ist. Vielen Dank Steffen Schindler

  2. avatar

    Ayoub Umoru

    Antworten

    Hallo Steffen, ich bin zufällig über Deinen Post gestolpert. Und zwar funktioniert das ganze nur, wenn Du auch die Eigenschaft AllowAnonymousAccess überschreibst. protected override bool AllowAnonymousAccess { get { return true;} } Gruß Ayoub Umoru

Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.