Ich war immer weg von asp.net Mitgliedschaft wie es aufgebläht schien, und (zu der Zeit) nicht testbar. Im Fall von asp.net MVC speziell, verwendet jemand eine alternative Lösung für die Zuweisung von Rollen an Benutzer, und Speichern einiger Zusatzinformationen für den angemeldeten Benutzer? Irgendeine Empfehlung? Ist es verrückt, nur Ihre eigenen zu rollen, nur die Funktionalität zu implementieren, die Sie brauchen?ASP.NET Mitgliedschaft Alternativen
Antwort
ASP.NET-Mitgliedschaft verwendet ein Provider-Modell für den Speicher. SqlMembershipProvider erbt Verschlüsselungs-/Hashing-Passwortfunktionen von der abstrakten MembershipProvider-Klasse. Sie können jedoch auch MembershipProvider erben und diese Funktionalität in einem benutzerdefinierten Anbieter abrufen, wenn Sie dies wünschen.
Wenn Sie den SqlMembershipProvider verwenden, erhalten Sie eine voll funktionsfähige Mitgliedschaftsdatenbank mit vollständiger Passwortverwaltung (Überprüfen, Ändern, Zurücksetzen, ungültige Kennwortversuche) und Benutzerverwaltung (CRUD-Operationen, Sperren von Benutzern).
All dies ist auf einer API-Ebene. Sie können die gewünschten UIs für die API erstellen.
Die Verwendung des SqlMembershipProvider erfordert nicht, dass Sie den Rollenanbieter oder den Profilanbieter oder eines dieser anderen Elemente verwenden, und Sie können Ihre eigenen für diese Dinge ohne Auswirkungen auf die Mitgliedschaft rollen. Zumindest würde ich empfehlen, den gut getesteten SqlMembershipProvider als Kern Ihrer Sicherheit für die grundlegenden Dinge zu verwenden.
Ich denke, das Problem damit ist, wenn Sie es erweitern müssen. Oder Ihr vorhandenes Schema stimmt nicht mit der SqlMembershipProvider-Datenbank überein. – Roco72
Erweiterung des SqlMembershipProvider könnte problematisch sein. Persönlich verwende ich den SqlMembershipProvider in einer Anwendung, die hauptsächlich auf Oracle läuft. Diese Tabellen sitzen nur in ihrer eigenen kleinen Datenbank und sorgen sich nicht um die Hauptgeschäftsdatenbank, und sie scheint für mich gut zu funktionieren. – Greg
Ich habe DotNetOpenAuth erfolgreich als Mitgliedschaft und Rollenanbieter implementiert. Es handelt sich nicht um eine vollständige Implementierung, sondern um die häufigsten Szenarien.
Sie bieten VS Vorlagen für den Einstieg.
- 1. ASP.net - Mitgliedschaft
- 2. Asp.net Mitgliedschaft
- 3. ASP.NET Mitgliedschaft Passwort zurücksetzen
- 4. asp.net Mvc Mitgliedschaft Fehler
- 5. ASP.NET MVC Mitgliedschaft Reserve
- 6. ASP.NET Mitgliedschaft validieren Passwort
- 7. Asp.net MVC Mitgliedschaft Starterkit
- 8. Asp.net Mitgliedschaft Passwort-Format
- 9. ASP.NET - Mitgliedschaft und Rollen
- 10. asp.net Mitgliedschaft Aktivitätsprotokoll
- 11. asp.net Mitgliedschaft - gesetzt Kommentarfeld
- 12. ASP.NET Mitgliedschaft Profil
- 13. ASP.NET Mitgliedschaft Salz?
- 14. ASP.NET-Mitgliedschaft und GridViews
- 15. ASP.NET SQL-Mitgliedschaft Tabellen
- 16. Retrieve asp.net Mitgliedschaft Sicherheitsantwort
- 17. ASP.NET Mitgliedschaft Passwort Ablauf
- 18. Zwingende ASP.NET Mitgliedschaft in ASP.NET MVC 4
- 19. ASP.NET MVC Forum-Software mit ASP.NET-Mitgliedschaft?
- 20. ASP.NET Mitgliedschaft + User Creation Konfiguration
- 21. ASP.net-Mitgliedschaft - Hinzufügen einer Rolle
- 22. Asp.net-Mitgliedschaft - Konten gesperrt werden
- 23. asp.net Mitgliedschaft erhalten Login-Name
- 24. ASP.NET MVC - Cross Subdomänenauthentifizierung/Mitgliedschaft
- 25. Erweiterung Account: ASP.NET MVC-Mitgliedschaft
- 26. Asp.Net-Mitgliedschaft mit ActiveDirectoryMembership Provider
- 27. gemeinsame Authentifizierungslogik in asp.net Mitgliedschaft
- 28. ASP.NET-Mitgliedschaft Rollen Web.config Einstellungen
- 29. asp.net-Mitgliedschaft - Genehmigung von admin
- 30. Sql-Mitgliedschaft für ASP.NET, Lernressourcen
Wenn Sie eine Alternative benötigen, dann haben Sie wahrscheinlich einige Gründe ... können Sie sie mit uns teilen? Was fehlt in der asp.net-Mitgliedschaft, die Sie verwenden möchten? –
Ich bin mir nicht sicher, wie es "aufgebläht" ist. Wenn überhaupt, ist es ein bisschen mager auf der Rollenseite. – Greg
Sie können Spalten zu den von aspnet_regsql generierten Tabellen hinzufügen, und es funktioniert gut. Sie können dann in einem Entitätsmodell auf die Tabellen verweisen, wenn Sie möchten. Auf diese Weise können Sie den Mitgliedschaftsanbieter von ASP.NET weiterhin in dem Umfang nutzen, in dem er für Sie funktioniert, Sie können jedoch auch von den zusätzlichen Informationen profitieren, die Sie speichern. – Andrew