2014-10-03 8 views
6

Gibt es wesentliche Vorteile der Verwendung von Cookie-basierten OWIN-Authentifizierung über Cookie-basierte Authentifizierung Forms-Authentifizierung für die Entwicklung von MVC-Webanwendungen?OWIN Cookies vs FormsAuthentication

Der Grund, warum ich frage, ist, dass ich keine der Entity Framework-basierten Hooks für OWIN-Authentifizierung verwenden würde. Ich habe seit Jahren Apps auf der Basis der Formularauthentifizierung entwickelt und bin in der Lage, verschiedene Authentifizierungstoken für Administratoren (schnellere Timeouts), anonyme Benutzer und registrierte Benutzer zu erstellen. Mit dem UserData-Teil des Tickets konnte ich Universal-Abmelden implementieren, benutzerdefinierte Eigenschaften speichern usw.

Einer der Vorteile von OWIN könnte Testbarkeit sein, aber ich bin mir nicht sicher. Die ClaimsIdentity ist nett, weil ich einfach benutzerdefinierte Felder speichern und auf sie zugreifen kann, ohne die Eigenschaften in UserData serialisieren/deserialisieren zu müssen. Andere Dinge, die ich berücksichtigen sollte?

+0

Das hat nichts mit OWIN zu tun .. das ist asp.net identity, die eben so auch auf die owin-layer in der Standardvorlage gewechselt ist, aber auch anderswo verwendet werden kann. OWIN ist nur eine Middleware-Abstraktionsschicht. Eines sollten Sie wahrscheinlich früh annehmen, da die nächste Version von Visual Studio stark davon abhängig sein wird, weil die Abhängigkeit von System.Web ausläuft. –

Antwort

8

Cookie-Authentifizierung Middleware kann in jedem OWIN-Host einschließlich IIS ausgeführt werden, während FormsAuthenticationModule nur in IIS + ASP.NET ausgeführt werden kann. Wenn Sie ein aktuelles oder zukünftiges Hosting in verschiedenen Hosts benötigen, ist CAM eine bessere Option. Ein weiteres Feature Middleware hat aber nicht FAM ist, der Cookie-Chunking. Wenn Ihre Benutzerdaten groß genug sind, dass das Cookie die erlaubte Größenbeschränkung überschreitet, hören die Browser einfach auf, das Authentifizierungs-Cookie zu senden, während die Middleware große Cookies in mehrere kleine Cookies unterteilt und sie beim Empfang wieder zusammenfügt.

+3

Um dies zu erweitern, entwickelt ASP.NET ein Modell, das weniger von dem verwendeten Server abhängig ist. Der Aufenthalt bei FormsAuth bindet dich an IIS, was dir heute vielleicht egal ist, aber eines Tages wirst du viel zu tun haben, um all das zu beheben ... besser, die neue Methode jetzt zu übernehmen, wenn es einfach ist, denn das ist wie es vorwärts geht. –