Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
ASP.NET MVC 3 Authentication mit NHibernate
marco.b
myCSharp.de - Member



Dabei seit:
Beiträge: 310

Themenstarter:

ASP.NET MVC 3 Authentication mit NHibernate

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
Chris.B
myCSharp.de - Member



Dabei seit:
Beiträge: 25
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16152

beantworten | zitieren | melden

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.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
dN!3L
myCSharp.de - Experte

Avatar #avatar-2985.png


Dabei seit:
Beiträge: 3138

beantworten | zitieren | melden

Zitat von marco.b
[...]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.
private Nachricht | Beiträge des Benutzers
Timur Zanagar
myCSharp.de - Member

Avatar #avatar-3412.jpg


Dabei seit:
Beiträge: 1559

beantworten | zitieren | melden

Hallo marco.b,

Was genau passt dir am vohandenen Membership Provider nicht?
private Nachricht | Beiträge des Benutzers
marco.b
myCSharp.de - Member



Dabei seit:
Beiträge: 310

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16152

beantworten | zitieren | melden

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.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Timur Zanagar
myCSharp.de - Member

Avatar #avatar-3412.jpg


Dabei seit:
Beiträge: 1559

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers