Невозможно получить доступ к [Авторизовать] контроллеры с аутентификацией cook ie - PullRequest
0 голосов
/ 05 апреля 2020

Я использую. NET Core 3.1 и Cook ie аутентификация для входа в систему. Я видел повара ie, сгенерированного как рисунок ниже, но я все еще не могу получить доступ к контроллерам [Authorize].

Это мой код в Startup.cs ConfigureServices (IServiceCollection services)

services.Configure<CookiePolicyOptions>(options =>
{
        options.CheckConsentNeeded = context => true;
        options.MinimumSameSitePolicy = SameSiteMode.Lax;
});
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
        .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options =>
         {
              options.Cookie.Name = "SRLoginCookie";
              options.Cookie.HttpOnly = true;
              options.LoginPath = new PathString("/users/login");
              options.ExpireTimeSpan = TimeSpan.FromDays(1);
              options.SlidingExpiration = false;
          });
services.PostConfigure<CookieAuthenticationOptions>(IdentityConstants.ApplicationScheme,
          options =>
          {
               options.LoginPath = "/users/login";
          });    

Настройка (приложение IApplicationBuilder)

app.UseRouting();
app.UseAuthentication();
app.UseAuthorization(); 

Код для входа

[HttpPost]
[Route("login")]
[AllowAnonymous]
public async Task<ActionResult> Login([FromForm]LoginRequest model)
{
       var identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme);
       identity.AddClaim(new Claim(ClaimTypes.Email, model.Email));
       ClaimsPrincipal principal = new ClaimsPrincipal(identity);

       await HttpContext.SignInAsync(
                        CookieAuthenticationDefaults.AuthenticationScheme,
                        principal);
       //if (HttpContext.User.Identity.IsAuthenticated)
              return RedirectToAction("Index", "Home");
}

enter image description here Повар ie создан, но не может получить доступ к дому / Индекс, как вы видите. В чем моя проблема? Большое спасибо за помощь!

1 Ответ

1 голос
/ 05 апреля 2020

Я нашел решение после публикации этого вопроса некоторое время. Просто нужно [Authorize(AuthenticationSchemes = CookieAuthenticationDefaults.AuthenticationScheme)] вместо [Authorize], все решено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...