Автоматическое перенаправление с аутентификацией cookie без идентификации в asp.netcore 2.1 - PullRequest
0 голосов
/ 12 сентября 2018

Я должен что-то упустить. Обратите внимание, что я не использую личность. Я следовал за частью конфигурации этой страницы

В моем файле startup.cs:

// in public void ConfigureServices(IServiceCollection services)
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(options =>
    {
        options.LoginPath = new PathString("/account/login/");
        options.AccessDeniedPath = new PathString("/account/forbidden/");
        options.SlidingExpiration = true;
        options.ExpireTimeSpan = TimeSpan.FromHours(336);
    });

// in public void Configure(IApplicationBuilder app, IHostingEnvironment env)
app.UseAuthentication();

Тогда у меня есть логика логина, которая заканчивается на

await _httpContextAccessor.HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal, 
                new AuthenticationProperties {IsPersistent = true});

Это отлично работает и создает нужные файлы cookie.

Чего я не понимаю, так это как обеспечить аутентификацию для определенных конечных точек? Ранее я бы добавил [AllowAnonymous] в конечную точку, чтобы сказать, что все в порядке, если вы не прошли аутентификацию. Но здесь не видно, вошел я или нет.

1) Как лучше всего настроить мое приложение, чтобы вы могли проходить проверку подлинности для доступа к ним?

2) Как узнать, аутентифицирован ли пользователь? (из контроллера)

3) Я знаю, что мог бы реализовать все это через промежуточное ПО, но я был бы удивлен, что нет встроенного способа сделать это. Я не прав?

...