Ich habe versucht, ein paar Dinge über benutzerdefinierte Attribute zu googeln, aber ich bin mir immer noch nicht sicher, wie ich das anstellen soll ...
Ich speichere ein paar wichtige Details des Benutzers in Sitzungscookies (ex UserID), sobald das Benutzerprotokoll in .. ist und alles, was ich tun möchte, ist ein Attribut erstellen, wenn das
if (Session["UserID"] == null)
dann wird es zum Login umgeleitet, genau wie das [Authorize] -Attribut. Auf diese Weise kann ich dieses Attribut überall auf der Controller-Ebene anwenden.
Sollte ich das Autorize-Attribut überschreiben? Erstelle ein neues? Wie bekomme ich es umleiten, um auch einzuloggen?
Ich benutze auch ASP.NET MVC 4
Danke für jede Hilfe
Sie können eine benutzerdefinierte AuthorizeAttribute
erstellen und AuthorizeCore()
und HandleUnauthorizedRequest()
nach Bedarf überschreiben. Fügen Sie Ihre eigene Logik hinzu, die bei Bedarf die Überprüfung und Weiterleitung durchführt.
Ich zeige nur ein einfaches Beispiel mit MVC ActionFilterAttribute
(das ist nicht der beste Ort, um Authentifizierung / Autorisierung zu tun)
Vergessen Sie nicht, die Variable Session["UserID"]
in Ihrer /User/Login
action-Methode nach der korrekten Benutzerüberprüfung zu setzen.
Sie können Ihre eigene Version von Authorize
Attribut durch Implementierung der IAuthorizationFilter
Schnittstelle. Hier ist ein Beispiel:
und ein Anwendungsbeispiel:
%Vor%Tags und Links asp.net-mvc .net c# asp.net asp.net-mvc-4