Benutzerdefinierte Formularauthentifizierung / Autorisierungsschema in ASP.net MVC

8

Ich versuche, ein benutzerdefiniertes Authentifizierungsschema in ASP.NET MVC mithilfe der Formularauthentifizierung zu erstellen. Die Idee, dass ich verschiedene Bereiche auf der Seite haben könnte, die verwaltet werden - Genehmiger sind und allgemeiner Benutzerbereich, und diese werden verschiedene Anmeldeseiten verwenden, und so weiter. Das ist genau das, was ich will.

  1. Benutzerzugriffsbeschränkte Seite (momentan habe ich sie mit einem Kunden AuthorizeAttribute geschützt)
  2. Der Benutzer wird auf eine bestimmte Anmeldeseite umgeleitet (nicht die von Web.config).
  3. Benutzeranmeldeinformationen werden überprüft (über ein benutzerdefiniertes Datenbankschema) und der Benutzer meldet sich an.

Ich würde wirklich jede Hilfe bei diesem Problem zu schätzen wissen !!!

Dies ist was ich bisher habe, und es funktioniert nicht:

%Vor%     
Greg R 24.02.2010, 20:21
quelle

4 Antworten

15

Ich habe eine Kombination aus Code verwendet, der von minus4 und meinem eigenen Code oben vorgeschlagen wurde, um dieses vereinfachte Szenario zu erstellen, das anderen helfen könnte. Ich habe einige Kommentare über Dinge hinzugefügt, die mich zuerst verwirrt haben.

%Vor%     
Greg R 25.02.2010, 18:25
quelle
3

Okay, gehen Sie Der Code

dort haben Sie ActionFilters Ordner (AuthAccess.cs) Plugins Folder (security.cs (verschlüsseln / entschlüsseln cookie), SessionHandler.cs (alle Fragen der Anmeldung)) Controller-Ordner (BaseController.cs und exampleController (zeigen Ihnen, wie Sie verwenden) und die loginTable SQL-Datei.

Ich benutze mysql, so dass Sie möglicherweise ändern müssen, auch ich benutze Unterschall, so würde mein Modell von dort kommen und wäre im leeren Modellordner.

wirklich einfach zu bedienen wird es für eine Weile für Sie verlassen, genießen

Nein Cookie-Modell ist hier leid:

%Vor%     
davethecoder 25.02.2010 09:33
quelle
2

Sind das nicht die Rollen? Werfen Sie einen Blick auf asp.net mvc Autorisierung mit Rollen oder schauen Sie sich an Rollen im Allgemeinen

    
spaceman 25.02.2010 09:27
quelle
0

Ich habe das angepackt, bevor ich eine Klasse habe, die ich für den Login benutze

Routinen sind Login, Cookie lesen, Cookie checken und sie haben ein Modell, das

enthält

Name, E-Mail, ID, Benutzerlevel

Dann haben Sie nur Ihren eigenen benutzerdefinierten actionFilter

zB [CustomAuth (MinAllowedLevel = 10)]

Ich verwende eine Basisklasse für alle meine Controller, damit ich eine einfachere Verbindung zu mir haben kann alle meine Sitzung Inhalt und kann dann Informationen wie folgt erhalten

%Vor%

Ich werde den Code morgen abholen, wenn Sie für Sie wollen, wenn ich am UK tagsüber bin

sagen 10 Stunden ich werde Sie die Klasse für alle Session-Sachen und die haben benutzerdefinierte Aktion Filter, die Sie verwenden können, dann alles, was Sie brauchen, ist eine Logins-Tabelle mit einem Userlevel-Feld, am besten mit den Ebenen von 10,20,30,40, wenn Sie eine Ebene zwischen 1 und 2

benötigen     
davethecoder 24.02.2010 23:48
quelle