2009-08-26 8 views
0

Ich suche nach einem Login-System auf meiner asp.net mvc Website und zuerst dachte ich, ich würde nur mit der FormAuhtorication gehen und die Out of the Box Account Controller, der mit jedem mvc-Projekt erstellt wird. Dann suche bei Google nach und finde heraus, dass viele Leute ihren eigenen Controller zur Steuerung der Auhtorication machen.ASP.NET MVC FormAuhtorication: Erstellen Sie Ihre eigenen oder verwenden Out of the Box

Ich mag meine eigene Datenbanktabelle für die Benutzerinformationen zu erstellen, so dass ich den AccountController ein bisschen geändert. Aber ist es wirklich der beste Weg zu gehen, indem Sie Ihren eigenen Controller für FormAuhtorication erstellen?

/Vielen Dank im Voraus

EDIT: Auch sollte ich mit der automatisch generierten Datenbank bleiben nur die für auhtorcation erzeugt wird oder kann ich meine eigenen zu machen? Ich bevorzuge das spätere.

Antwort

3

Das Rad nicht neu erfinden. Das Authentifizierungsrecht ist viel subtiler, als die meisten Leute erkennen. Das Cache-Attribut verfügt z. B. über speziellen Code für die Authentifizierung und stellt sicher, dass zwischengespeicherte Daten nicht an nicht authentifizierte Benutzer gesendet werden (Rückruf: Wenn zwischengespeicherte Daten geliefert werden, wird die Aktion nie ausgeführt, und daher "controllerbasiert" Authentifizierung "wird nicht funktionieren).

Wenn Sie eine vollständig benutzerdefinierte Authentifizierung verwenden müssen, implementieren Sie einen ASP.NET-Mitgliedschaftsanbieter. Aber tun Sie das nur, wenn es keine Standardoption gibt, die funktioniert. Es ist schwieriger als du denkst.

+0

Vielen Dank für Ihre schnelle Antwort. Ich werde sehen, ob jemand anderes an der Diskussion teilnehmen möchte, bevor ich die richtige Antwort gebe :) – Poku

0

Ich versuche, OpenID zu verwenden, wann immer ich kann. Ich mag die Tatsache, dass ich mich nicht darum kümmern muss, Passwörter zu speichern. Außerdem spart es den Benutzern viel Zeit bei der Anmeldung. Es gibt ein nettes Framework für OpenID und .net here.

Verwandte Themen