App.UseSession () против App.UseAuthentication (CookieAuthenticationDefaults.AuthenticationScheme) против App.UseCookiePolicy () - PullRequest
1 голос
/ 17 апреля 2020

Как описано в https://docs.microsoft.com/en-us/aspnet/core/fundamentals/app-state?view=aspnetcore-3.1#session -состоянии , можно добавить сеанс к веб-приложению, например, в Start.ConfigureServices

    services.AddSession(options =>
    {
        options.IdleTimeout = TimeSpan.FromSeconds(10);
        options.Cookie.HttpOnly = true;
        options.Cookie.IsEssential = true;
    });

и в Startup.Configure

App.UseSession()

Существует также возможность использовать аутентификацию cook ie без идентификации через промежуточное ПО аутентификации, как описано здесь https://docs.microsoft.com/en-us/aspnet/core/security/authentication/cookie?view=aspnetcore-3.1

services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(options =>
    {
        ...
    });

Мой вопрос, если Я в Startup.Configure использую оба

App.UseSession()
App.UseAuthentication()

Какие настройки Cook ie будут использоваться? Будут ли настройки Cook ie в services.AddSession совершенно неактуальными (поскольку промежуточное ПО аутентификации также использует Session Cookies для отслеживания пользователей, верно? Или я совершенно не прав в этом)? Или это будут просто две разные сессии / службы, работающие одновременно?

Мне известно, что Startup.Configure (конвейер HTTP) чувствителен к порядку, как описано в моей статье Microsoft «Добавление промежуточного программного обеспечения в приложение». конвейер обработки чувствителен к порядку - он влияет только на нижестоящие компоненты, зарегистрированные в конвейере. " Мой второй вопрос, таким образом, если я поставлю App.UseCookiePolicy (параметры) перед вышеупомянутым, переопределит ли он настройки?

App.UseCookiePolicy()

Заранее спасибо за любые ответы!

...