Das Szenario

Im Laufe einer Umstellung von SharePoint 2010 zu 2013 und dem dadurch folgenden Umstieg auf Claim-Based-Authentication kam es zu Login Problemen. Und zwar konnten sich die Benutzer nicht mehr auf dem SharePoint anmelden. Das Problem konnte dadurch umgangen werden, dass die PortableSuperUser sowie -Reader entfernt wurden.

Das Problem

Nun können sich zwar die Nutzer wieder anmelden und auf dem SharePoint arbeiten. Allerdings fühlt sich der SharePoint träge bzw. langsam an. Bei einem Blick in die Events findet man die Ereignis-ID 7363 sowie 7362. Beide weisen auf einen nicht richtigen konfigurierten Objectcache hin.

Objectcache

Der Objectcache des SharePoints 2013 kümmert sich darum, dass der hinter dem SharePoint stehende SQL-Server entlastet wird. Das heißt, der Cache wird dazu verwendet, um das Rendering der Seite zu optimieren. Dazu werden Metadaten von Listen, Bibliotheken, Seitenlayouts sowie Seiten im Speicher des Web-Servers geladen. Dadurch wird der Traffic zum SQL-Server gesenkt, sowie die Wartezeit bei Anforderungen und Durchsatz verbessert.

Nötige Benutzerkonten

Der Objectcache benötigt, damit er Ordnungsmäßig funktioniert, zwei Benutzerkonten.
Einmal den Portal Super User sowie den Portal Super Reader. Beide sind normale Benutzerkonten im AD, welche dort keine gesonderte Rechte brauchen.
Mit diesen beiden Konten nimmt der Objectcache Abfragen von Elementen im SharePoint vor. Die Suche des Portable Super User beinhaltet Entwürfe wohingegen der Reader nur veröffentlichte Elemente enthält. Falls nun ein Nutzer eine Suche startet, werden ihm, je nachdem welche Berechtigungen er hat, die Ergebnisse vom Portable Super User oder Reader angezeigt.

Konfiguration

Wie schon vorab erwähnt, werden zwei Benutzerkonten im Active Directory benötigt. Wenn diese angelegt wurden, muss man Sie nur noch mit dem SharePoint verbinden.

  1. Dazu öffnet man in der Central Administration im Bereich Application Management die Seite Manage web applications.

  2. Nun markiert man seine Web Application und wählt die Option User Policy im Tab Web Application aus.

  3. Als nächstes fügt man einen neuen Benutzer hinzu für alle Zonen. Im Feld User wird das Benutzerkonto des SuperUser eingetragen, welchen zuvor im AD angelegt wurde und gibt ihm die Permission Full Control.

  4. Für das Benutzerkonto des SuperReader führt man den Punkt 3. ebenfalls durch mit dem Unterschied, dass diesem die Permission Full Read vergeben wird.

  5. Als nächstes muss die SharePoint Managment Shell geöffnet werden. Darin holt man sich die WebApplication und setzt dann die beiden Konten wie folgt:
    $wa = Get-SPWebApplication -Identity "<WebApplication-Name bzw. URL>" $wa.Properties["portalsuperuseraccount"] = "i:0#.w|<SuperUserKonto>" $wa.Properties["portalsuperreaderaccount"] = "i:0#.w|<SuperReaderKonto>" $wa.Update()

  6. Als letzter Schritt muss noch der IIS neugestartet werden.

Damit sollte der SharePoint wieder flotter laufen.

Allgemeine Informationen bzgl. SharePoint 2013 und Cache kann man im TechNet Artikel "Cacheeinstellungsvorgänge in SharePoint Server 2013" nachlesen. Dort werden auch noch andere Caches beschrieben, welche für die Performance des SharePoint zuständig sind.