Ich benutze Owin, Katana und Nancy, um eine einfache Website mit einer Authentifizierung erforderlichen Abschnitt hosten. Hinweis Ich verwende auch nuget Paket - Nancy.MSOwinSecurityRedirect nach ReturnUrl nach erfolgreicher Cookie-Authentifizierung in Owin, Katana & Nancy
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = Constants.AuthenticationType,
LoginPath = new PathString("/Login"),
});
app.UseNancy();
Hier ist mein Modul Code
public class LoginModule : NancyModule
{
public LoginModule()
{
Post["login"] = p =>
{
var name = Request.Form.name;
var auth = Context.GetAuthenticationManager();
var claims = new List<Claim> {new Claim(ClaimTypes.Name, name)};
var id = new ClaimsIdentity(claims, Constants.AuthenticationType);
auth.SignIn(id);
// redirect how????
return View["index"];
};
}
}
Meine einreichenden Form
<form name="login" action="/login" method="post" accept-charset="utf-8">
<ul>
...
</ul>
</form>
Jetzt habe ich nach umleiten Suche Erfolgreiche Anmeldung am ReturnUrl -
z.B. Login? ReturnUrl =% 2Fblah% 2blahblah
Es scheint keine Redirect-Methode wie in Formularauthentifizierung plus die Query-String-Parameter-Eigenschaft ist leer.
Ich kann Response.Redirect tun, aber ich kann die Umleitungs-URL nicht bekommen. GetRedireect und p.RediretUrl sind nicht vorhanden. –
Aktualisiert - Ich habe den Parameter route accessor verwendet, nicht den Query-String accessor. Als eine Randnotiz "Context.GetRedirect (p.Request.Query.RedirectUrl)" ist die GetRedirect-Methode, um dies zu erreichen. –
Können Sie das Codebeispiel bitte mit dem richtigen Code aktualisieren? –