Laden...

ASP.NET MVC 3 Authentication mit NHibernate

Erstellt von marco.b vor 12 Jahren Letzter Beitrag vor 12 Jahren 6.267 Views
M
marco.b Themenstarter:in
303 Beiträge seit 2006
vor 12 Jahren
ASP.NET MVC 3 Authentication mit NHibernate

Hallo,

die built-in Authentifizierung über eine SQL-Server-MDB-Datei in ASP.NET MVC3 passt mir garnicht. Ich möchte eine eigene Authentifzierung implementieren, aber dazu scheint es nötig zu sein, gleich einen kompletten MembershipProvider zu implementieren. Für das bisschen User/Passwort-Zeug, das ich brauche, ist mir das zu viel Overhead.

Ich erinnere mich noch an die good-old ASP.NET 2.0-Days. Da gab es noch so ein FormsAuthentication.RedirectFromLoginPage oder so ähnlich. Damit wurde die ganze Authentifizierung so einfach wie

wenn Benutzername und Passwort richtig dann
Forms.Authentication.RedirectFromLoginPage(Zu_besuchende_Seite);

Kann man das in ASP.NET MVC3 nicht auch vereinfachen, oder muss ich tatsächlich so ein Membership Provider bauen?

C
24 Beiträge seit 2009
vor 12 Jahren

FormsAuthentication gibt es immernoch, Redirect gibt es in jedem Controller und selbst wenn du einen MembershipProvider benutzt zwingt dich keiner alle Methoden zu implementieren.

Aber um deine Frage zu beantworten, nein es ist nicht nötig einen eigenen MembershipProvider zu implementieren um eine eigene Authentifizierung in einem ASP.NET MVC-Projekt zu benutzen.

Chris

16.832 Beiträge seit 2008
vor 12 Jahren

Ein MembershipProvider ist bei MVC wirklich die einfachste und sauberste Möglichkeit einer Authentifizierung.
Du musst nur an einzelne Controller / Actions die nötigen Rechte definieren und den Rest übernimmt komplett ASP. Du brauchst nirgends ein Redirect zu implementieren, da dies eben automatisch funktioniert.

2.891 Beiträge seit 2004
vor 12 Jahren

[...]oder muss ich tatsächlich so ein Membership Provider bauen?

Guck mal in ASP.NET MVC und Authentifizierung, da hatte ich das mal für ASP.NET MVC 1 gemacht. So schwierig ist das eigentlich nicht.

1.457 Beiträge seit 2004
vor 12 Jahren

Hallo marco.b,

Was genau passt dir am vohandenen Membership Provider nicht?

M
marco.b Themenstarter:in
303 Beiträge seit 2006
vor 12 Jahren

Hi zusammen,

danke für die Antworten.

@dN!3l, dein Beispiel schau ich mir an, vielen Dank!

@Timur, mich nervt schlicht der Overhead. Was ich brauche, ist verhältnismäßig einfach. Passt E-Mail / Passwort? Dann darfst du alles. Ferner brauche ich keine Klasse, die mir versucht, Passwort-Reminder o.Ä. vorzukauen. Klar, muss ich nicht implementieren. Aber mir wird im Prinzip ein komplettes Authentifizierungs- und Autorisierungsframework aufgedrückt, für das ich keine Verwendung habe.

Wenn das aber in MVC3 Best Practises sind, dann versuche ich halt, damit zurecht zu kommen.

16.832 Beiträge seit 2008
vor 12 Jahren

Du hast mehr "Overhead" mit Deiner Variante, da Du in jeder relevanten Action von Hand prüfen musst, ob der Anwender angemeldet ist und/oder Rechte hat.
Mit der Membership-Variante hast Du einmalig einen 20 Zeiler und kannst dann einfach an die jeweiligen Actions Dein [Roles=("")] Attribut hängen.

Ich glaube Du setzt Dir selbst die Hürde viel höher als sie wirklich ist.

1.457 Beiträge seit 2004
vor 12 Jahren

Hallo marco.b,

Du musst ja nicht alles benutzen was der MembershipProvider dir bietet! Du kannst ja auch gerne nur eine Teilmenge der Funktionen benutzen. Von daher verstehe ich deine Problematik nicht. Klar kannst du dir auch gerne eigene Methoden programmieren, aber die Frage ist ob es sich lohnt?