ASP.Net MVC - Umleitung die route-Redirect-Schleife gibt
Dies ist wahrscheinlich eine von denen, einfach Fragen.. ich versuche umleiten der Benutzer, nachdem er erfolgreich authentifiziert wurde, oder kehren Sie zurück zur login-Seite. Aber der Erfolg der Seite ist auf einer anderen Strecke und ich kann nicht die Umleitung zu arbeiten..
Hier sind meine Strecken in der Globals.asax:
routes.MapRoute( _
"Default", _
"{controller}/{action}/{id}", _
New With {.controller = "Login", .action = "Index", .id = ""} _
)
routes.MapRoute( _
"Stuff", _
"{controller}/{action}/{id}", _
New With {.controller = "Stuff", .action = "Index", .id = ""} _
)
Ich habe 2 Controller: LoginController.vb
und StuffController.vb
. Die Views/Login/Index.aspx
- Datei enthält ein einfaches Formular mit dem code:
<form method="post" action="/Login/Authenticate">
Den LoginController
die den folgenden code enthält:
Function Authenticate() As RedirectToRouteResult
' authentication code commented out ;o)
Return RedirectToRoute("Stuff")
End Function
Und die StuffController enthält die folgenden:
Function Index()
' show stuff..
Return View() ' return /Views/Stuff/Index.aspx
End Function
Hier ist, was ich bisher ausprobiert habe:
- Funktion Authenticate()
- Funktion Authenticate() Als ActionResult()
- Funktion Authenticate() Als RedirectToRouteResult()
alle, die einen Redirect-Schleife timeout im browser. Was bin ich?!
InformationsquelleAutor Andrew | 2008-10-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte es sein, dass dein Zeug Weg hat genau die gleiche form wie die Standard, also, wenn Sie rufen
die resultierende url hat die form: {controller}/{action}/{id}, z.B. Login/Authenticate wieder, da Sie sich im Login-controller Authentifizieren Aktion.
Versuchen
Hoffe, das hilft.
Oh, und ich brauchte, um zu ändern Sie den Rückgabetyp der Funktion Authentifizieren zu "ActionResult" zu :o)
InformationsquelleAutor liggett78
Richtige Antwort ist gut, aber:
-dann müssen Sie die Werte ändern, nicht nur im globalen.asax, aber auch in all den Orten, wo Sie verwendet die Technik.
Mein Vorschlag:
Nun, in diesem Fall, Sie don ' T-pass-die Namen von controller/action was ist das für Zeug/Index entsprechend. So können Sie Veränderungen leicht.
InformationsquelleAutor Tengiz
Ich nicht, um zu sehen, wo Sie den cookie-Authentifizierung oder die Kennzeichnung der Nutzer als authentifiziert wurde, in keiner Weise. Ist, dass in dem code, den Sie ausgelassen haben?
Wenn Sie nicht die auth. cookie, sofern Sie Ihre action-Methoden sind dekoriert mit den [Genehmigen] - Attribut, dann werden Sie weitergeleitet, um Ihre login-url wieder.
Danke für den Hinweis über die [Genehmigen] - Attribut. Die Wahrheit ist, wenn ich habe versucht, diese arbeiten hatte ich noch nicht geschrieben, die Zulassung Codes, so dass ich noch nicht dekoriert, jede Aktion, die Methoden mit [Genehmigen] - ich war nur immer auf den "flow" - rechten zu starten mit :o)
InformationsquelleAutor tvanfosson
versuchen
InformationsquelleAutor