Wenn man sich bei Erstellung einer Webanwendung dazu die “Classic Authentication” zu verwenden:
gibt es in der Oberfläche später keine Möglichkeit, den Authentication Provider zu ändern:
Im o.g. Screenshot sieht man bereits einen Anwendungsfall, warum man das vielleicht nachträglich machen möchte: Nur mit der Claims Authentication kann man im SharePoint 2010 FBA verwenden. Nachträglich ist die Änderung nur mit Powershell möglich, das ist aber schnell gemacht:
$w = Get-SPWebApplication “http://<server>/”
$w.UseClaimsAuthentication = $true
$w.Update()
Zurück geht das ganze natürlich auch wieder, lediglich $true durch $false ersetzten und man verwendet wieder die klassische Authentifizierung.
Beim Hin-und Her Wechsel sind mit 2 Probleme aufgefallen:
1. Server Error 500
Im SharePoint Log fand sich bei mir dazu folgende Fehlermeldung:
Unexpected System.Configuration.ConfigurationErrorsException: Default Role Provider could not be found. (C:inetpubwwwrootwssVirtualDirectories80web.config line 230) at System.Web.Security.Roles.Initialize() at System.Web.Security.RoleManagerModule.OnLeave(Object source, EventArgs eventArgs) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Ursache war, dass in der web.config noch ein default RoleManager eingetragen war, obwohl es diesen nicht mehr gab. In der web.config sollten die Zeilen ungefähr so aussehen:
<roleManager>
<providers>
</providers>
</roleManager>
2. Access Denied Meldung
Obwohl der Benutzer SiteCollection Admin war, konnte ich mich nicht anmelden. In der Zentraladministration sah der Administrator wie folgt aus:
Das war nachdem ich wieder von Claims zu Classic Authentication gewechselt habe. Nachdem ich den User dann erneut als Admin hinzugefügt habe funkionierte wieder alles.