In einer MVC4-App möchte ich in einer Steuerungslogik prüfen, ob der Benutzer angemeldet ist.
Sollte ich verwenden:
Oder:
%Vor% Soweit ich weiß, ist WebSecurity
nur ein Wrapper. Sollte ich es verwenden oder hat User.Identity
eine andere Funktionalität?
Soweit ich weiß, ist WebSecurity nur ein Wrapper.
Das stimmt, beide sind gleich. Schauen wir uns an, wie die Eigenschaft WebSecurity.IsAuthenticated
implementiert ist:
und nun schauen wir uns an, wie die WebSecurity.Request
statische Eigenschaft implementiert ist:
und schließlich schauen wir uns an, wie die WebSecurity.Context
statische Eigenschaft implementiert ist:
So wie Sie sehen können:
%Vor%ist dasselbe wie:
%Vor% was wiederum mit Context.User.Identity.IsAuthenticated
identisch ist, mit einem geringfügigen Unterschied, dass es Nullprüfungen gibt und die Eigenschaft false zurückgibt, wenn beispielsweise die Eigenschaft Identity
null ist.
Soll ich es verwenden oder Benutzer.Identity hat unterschiedliche Funktionalität?
Selbst wenn die zwei genau gleich sind, würde ich User.Identity
verwenden, was die offizielle ASP.NET-Implementierung ist, denn wenn Sie morgen den einfachen Mitgliedschaftsanbieter durch etwas anderes ersetzen, werden Sie in Ihrem Code weit weniger Dinge zu ersetzen haben .
Tags und Links c# authentication asp.net-mvc-4 forms-authentication