Tôi đang sử dụng Owin, Katana và Nancy để lưu trữ một trang web đơn giản với phần yêu cầu xác thực. Note Tôi cũng đang sử dụng NuGet gói - Nancy.MSOwinSecurityChuyển hướng đến ReturnUrl sau khi xác thực cookie thành công trong Owin, Katana & Nancy
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = Constants.AuthenticationType,
LoginPath = new PathString("/Login"),
});
app.UseNancy();
Dưới đây là mã phân hệ của tôi
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"];
};
}
}
nộp mẫu đơn của tôi
<form name="login" action="/login" method="post" accept-charset="utf-8">
<ul>
...
</ul>
</form>
Bây giờ tôi đang tìm kiếm để chuyển hướng sau đăng nhập thành công vào ReturnUrl -
ví dụ: Đăng nhập? ReturnUrl =% 2Fblah% 2blahblah
Có vẻ là không có phương pháp chuyển hướng như trong hình thức xác thực cộng với chuỗi truy vấn tham số thuộc tính còn trống.
tôi có thể làm Response.Redirect nhưng tôi không thể có được url chuyển hướng. GetRedireect và p.RediretUrl không tồn tại. –
Đã cập nhật - Tôi đã sử dụng trình truy cập thông số tuyến đường, không phải là trình truy cập chuỗi truy vấn. Là một lưu ý phụ 'Context.GetRedirect (p.Request.Query.RedirectUrl)' là phương thức GetRedirect để tiếp cận điều này. –
Bạn có thể cập nhật mẫu mã với mã đúng không. –