Tôi đang cố gắng để chuyển hướng đến một url đăng nhập khác trong ASP.NET MVC6ASP.NET lõi, thay đổi mặc định chuyển hướng cho phép
tài khoản phương pháp điều khiển đăng nhập của tôi có một thuộc tính Route
để thay đổi url.
[HttpGet]
[AllowAnonymous]
[Route("login")]
public IActionResult Login(string returnUrl = null)
{
this.ViewData["ReturnUrl"] = returnUrl;
return this.View();
}
Khi cố gắng để truy cập vào một trang unathorized, tôi đang chuyển hướng đến url không hợp lệ, cần chỉ là
/login
nhưng thay vào đó tôi nhận đượchttp://localhost/Account/Login?ReturnUrl=%2Fhome%2Findex
Tôi đã cấu hình xác thực Cookie đường dẫn như sau:
services.Configure<CookieAuthenticationOptions>(opt =>
{
opt.LoginPath = new PathString("/login");
});
Tôi hav e đã thêm bộ lọc mặc định, để đảm bảo rằng tất cả các url yêu cầu xác thực theo mặc định.
services.AddMvc(
options =>
{
options.Filters.Add(new AuthorizeFilter(new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build()));
});
Tôi đã kiểm tra rằng url /login
nào trong thực tế nạp trang đăng nhập, trong khi /account/login
không, như mong đợi.
chỉnh sửa: tôi đã để lại các tuyến đường như là, (ngoài việc thay đổi bộ điều khiển mặc định và hành động)
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Site}/{action=Site}/{id?}");
});
Bạn có thể hiển thị cấu hình tuyến đường của mình trong 'Cấu hình()' không? – juunas
@juunas: Tôi đã thêm các tuyến đường vào câu hỏi – Jim
bạn đang sử dụng danh tính lõi-asp.net? – tmg