Sto utilizzando Owin, Katana e Nancy per ospitare un sito semplice con una sezione di autenticazione richiesta. Nota Sono anche utilizzando NuGet pacchetto - Nancy.MSOwinSecurityReindirizza a ReturnUrl dopo l'autenticazione cookie riuscita in Owin, Katana & Nancy
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = Constants.AuthenticationType,
LoginPath = new PathString("/Login"),
});
app.UseNancy();
Ecco il mio codice modulo
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"];
};
}
}
La mia forma Sottoporre
<form name="login" action="/login" method="post" accept-charset="utf-8">
<ul>
...
</ul>
</form>
Ora sto cercando di reindirizzare dopo login riuscito a ReturnUrl -
ad es. Login? ReturnUrl =% 2Fblah% 2blahblah
Sembra che non vi sia alcun metodo di reindirizzamento come nell'autenticazione delle form, più la proprietà dei parametri della stringa di query è vuota.
che posso fare Response.Redirect ma non riesco a ottenere l'URL di reindirizzamento. GetRedireect e p.RediretUrl non esistono. –
Aggiornato - Ho usato il parametro accessor del route, non l'accessor della stringa di query. Come nota a margine 'Context.GetRedirect (p.Request.Query.RedirectUrl)' è il modo GetRedirect per avvicinarsi a questo. –
Puoi aggiornare il codice di esempio con il codice corretto per favore. –