Benutzer.Identity.IsAuthenticated vs WebSecurity.IsAuthenticated

9

In einer MVC4-App möchte ich in einer Steuerungslogik prüfen, ob der Benutzer angemeldet ist.
Sollte ich verwenden:

%Vor%

Oder:

%Vor%

Soweit ich weiß, ist WebSecurity nur ein Wrapper. Sollte ich es verwenden oder hat User.Identity eine andere Funktionalität?

    
Yaron Levi 06.04.2013, 16:27
quelle

1 Antwort

7
  

Soweit ich weiß, ist WebSecurity nur ein Wrapper.

Das stimmt, beide sind gleich. Schauen wir uns an, wie die Eigenschaft WebSecurity.IsAuthenticated implementiert ist:

%Vor%

und nun schauen wir uns an, wie die WebSecurity.Request statische Eigenschaft implementiert ist:

%Vor%

und schließlich schauen wir uns an, wie die WebSecurity.Context statische Eigenschaft implementiert ist:

%Vor%

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 .

    
Darin Dimitrov 06.04.2013, 16:30
quelle