ASP.NET Core Identity изменить URL-адрес входа - PullRequest
0 голосов
/ 01 июня 2018

Я использую ASP.NET Core 2.1, и я использовал скаффолдинг для добавления Identity, который работает нормально. За исключением того, что когда я пытаюсь перейти на страницу, требующую входа в систему, я получаю: /Identity/Account/Login?ReturnUrl

Как мне изменить это, чтобы перейти к просто / Учетная запись / Логин, который является моей собственной страницей входа, которую я создал.

Я попробовал это:

services.ConfigureApplicationCookie(options =>
                {
                    options.AccessDeniedPath = "/Account/AccessDenied";
                    options.Cookie.Name = "Cookie";
                    options.Cookie.HttpOnly = true;
                    options.ExpireTimeSpan = TimeSpan.FromMinutes(720);
                    options.LoginPath = "/Account/Login";
                    options.ReturnUrlParameter = CookieAuthenticationDefaults.ReturnUrlParameter;
                    options.SlidingExpiration = true;
                });

, но все равно переходит к / Identity/

Ответы [ 5 ]

0 голосов
/ 17 августа 2019

Перемещение сервисов. ConfigureApplicationCookie после сервисов. Идентификатор и, самое главное, удаление AddDefaultUI в сервисах.Ссылка здесь

0 голосов
/ 19 июня 2019
 services.ConfigureApplicationCookie(options =>
            {
                options.Events = new CookieAuthenticationEvents
                {
                    OnRedirectToLogin = x =>
                    {
                        x.Response.Redirect("Account/Login");
                        return Task.CompletedTask;
                    }
                };

            });
0 голосов
/ 23 августа 2018

Проверьте, как вы регистрируете службу идентификации, если у вас есть:

services.AddDefaultIdentity<IdentityUser>(options => { }) .AddEntityFrameworkStores<ApplicationDbContext>();

замените ее на

services.AddIdentity<IdentityUser, IdentityRole>(options => { }) .AddEntityFrameworkStores<ApplicationDbContext>(); и сохраните свой код в ConfigureApplicationCookie, которыйработал в моем случае.

0 голосов
/ 11 сентября 2018

Я только что столкнулся с этой же проблемой.Я решил ее, переместив мой

services.ConfigureApplicationCookie вызов после моего services.AddIdentity вызова в ConfigureServices

0 голосов
/ 01 июня 2018

Попробуйте добавить new PathString("...") и установить маршрут в контроллере.

services.ConfigureApplicationCookie(options =>
{
    options.AccessDeniedPath = new PathString("/Account/AccessDenied");
    options.Cookie.Name = "Cookie";
    options.Cookie.HttpOnly = true;
    options.ExpireTimeSpan = TimeSpan.FromMinutes(720);
    options.LoginPath = new PathString("/Account/Login");
    options.ReturnUrlParameter = CookieAuthenticationDefaults.ReturnUrlParameter;
    options.SlidingExpiration = true;
});

[AllowAnonymous]
[Route("Account")]
public class SecurityController : Controller
{
    [Route("Login/{returnUrl?}")]
    public IActionResult Login(string returnUrl = null)
    {
        ViewData["ReturnUrl"] = returnUrl;

        return View();
    }
}
...