Параметры { configureapplicationcookie } не изменяют LogoutPath, LoginPath, Cookie.name и AccessDeniedPath.C#

Место общения программистов C#
Ответить
Anonymous
 Параметры { configureapplicationcookie } не изменяют LogoutPath, LoginPath, Cookie.name и AccessDeniedPath.

Сообщение Anonymous »

У меня странная история, когда я первый раз воспользовался, все сработало, но что произошло дальше я не знаю. Проблема возникает, когда вы меняете путь для LoginPath, LogoutPath, AccessDeniedPath и имя файла cookie. с использованием asp.net core 8.0
builder.Services.AddAuthentication("cookie").AddCookie("cookie");

builder.Services.ConfigureApplicationCookie(options =>
{
    options.Cookie.Name = "Cookie";
    options.Cookie.HttpOnly = true;
    options.ExpireTimeSpan = TimeSpan.FromHours(5);
    options.Cookie.MaxAge = options.ExpireTimeSpan;
    options.LogoutPath = new PathString("/LogOut");
    options.LoginPath = new PathString("/Login");
    options.AccessDeniedPath = new PathString("/AccessDenied");
    options.SlidingExpiration = true;
});

После исследования появилась более короткая версия того же результата, которая не работает

builder.Services.AddAuthentication("cookie").AddCookie("cookie", options =>
{
options.Cookie.Name = "Cookie";
options.Cookie.HttpOnly = true;
options.ExpireTimeSpan = TimeSpan.FromHours(5);
options.Cookie.MaxAge = options.ExpireTimeSpan;
options.LogoutPath = new PathString("/LogOut");
options.LoginPath = new PathString("/Login");
options.AccessDeniedPath = new PathString("/AccessDenied");
options.SlidingExpiration = true;
});

Я использую AddIdentity как
builder.Services.AddIdentity(options =>
{
options.SignIn.RequireConfirmedAccount = true;
}).AddEntityFrameworkStores()
.AddUserManager()
.AddSignInManager()
.AddUserStore()
.AddDefaultTokenProviders();

builder.Services.AddScoped();

Если пользователь не авторизован (выход из системы). Если я перейду к конечной точке с обозначением авторизации, приложение должно перейти по предварительно настроенному пути для входа в систему.
как http://localhost:5204/Login?ReturnUrl=%2Farea%2Findex
Но он переходит в
http://localhost:5204/Account/Login?Ret ... ea%2Findex
Аналогично с AccessDeniedPath , LogoutPath и cookie.Name
имя файла cookie должно быть cookie, но это .AspNetCore. Identity.Application
Насколько я понимаю, это конфигурация по умолчанию для файла cookie, также известного как схема аутентификации
Конечная точка контроллера
Конечная точка контроллера
п>
[HttpGet]
public IActionResult Login(string ReturnUrl = null)
{
// Your logic here
}

[HttpPost]

public async Task Login(LoginModelView model, string? ReturnUrl)
{
// Your logic here
}

Я пытался изменить порядок двух служб AddIdentity AddAuthentication тоже не работает.
Также попробуйте тот же результат
builder.Services
.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).Ad...


Подробнее здесь: https://stackoverflow.com/questions/786 ... npath-cook
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»