So erstellen Sie ein benutzerdefiniertes Attribut, das eine Umleitung auf Login, wenn Sie false zurückgibt, ähnlich wie die Autorisierung Attribut - ASP.NET MVC
Habe ich versucht zu Googeln, ein paar Dinge über benutzerdefinierte Attribute, aber ich bin noch nicht sicher wie Sie gehen über es....
Ich bin die Speicherung von ein paar wichtigen details des Benutzers im Session-cookies (ex-UserID) nachdem der Benutzer-log-in.. und alles was ich will zu tun ist, erstellen Sie ein Attribut, wo, wenn der
if (Session["UserID"] == null)
dann wird es redirect auf login-genau wie die [Genehmigen] - Attribut hat. So kann ich weisen Sie dieses Attribut auf der Controller-Ebene überall.
Soll ich überschreiben " aktivieren Attribut? Erstellen Sie einen neuen? Wie bekomme ich die Umleitung zu login sowie?
Bin ich auch mit ASP.NET MVC 4
Vielen Dank für jede Hilfe
- Kann man sicherlich definieren, die benutzerdefinierte Authentifizierung Filter (ie Arten, die zur Umsetzung von
IAuthorizationFilter
), ansonsten aber Ihre Frage ist sehr breit: Sie müssen definieren, weit besser, was Sie erreichen wollen. - Sorry, ich bin nicht versucht, jemanden dazu zu bringen code für mich, ich denke, ich bin gerade auf der Suche für die Richtung auf was ich sollte Forschung gezielt.
- Ich denke, das ist genau das, was ich brauchte. Also wenn ich die implementieren IAuthorizationFilter, wenn es fehlschlägt, wird das redirect zur Login-genau wie [Autorisieren]? Ich denke, das ist, was ich am meisten suchen.
- Vielleicht beginnen Sie, indem Sie angeben, warum die eingebauten Filter (und Identity provider) Ihren Anforderungen nicht genügen?
- Ich bin noch ziemlich neu in der ASP.NET Umgebung,.. Was für Filter und Identity provider konnte ich nutzen, um zu erreichen, was ich Suche zu tun? (Redirect auf login für alle regler, wenn ein Session-cookie ist null.) Ich kam gerade mit dem Attribut Idee, weil es scheint, wie es wäre das beste, aber ich würde gerne wissen, eine noch bessere alternative. Wieder nicht auf der Suche nach jemanden der sich um code für mich aber nur eine Richtung auf, was google..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie erstellen eine benutzerdefinierte
AuthorizeAttribute
und überschreibenAuthorizeCore()
undHandleUnauthorizedRequest()
als erforderlich. Fügen Sie Ihre eigene Logik, die werden das prüfen und leiten, wenn nötig.Ich bin gerade zeigt ein einfaches Beispiel für die Verwendung von MVC ist
ActionFilterAttribute
(das ist nicht der beste Ort, um Authentifizierung/Autorisierung)Vergessen Sie nicht, die
Session["UserID"]
variable in Ihrem/User/Login
action-Methode nach der richtigen Benutzer-Validierung.AuthorizeAttribute
wenn Sie wissen, wie es zu benutzen.Können Sie erstellen Ihre eigene version der
Autorisieren
Attribut durch die Umsetzung derIAuthorizationFilter
- Schnittstelle. Hier ist ein Beispiel:sowie eine Verwendung Beispiel: