Выход пользователя из системы, прежде чем я скажу это - PullRequest
0 голосов
/ 30 апреля 2020

У меня проблема с asp.net core удостоверением в веб-ферме. когда пользователь заходит на веб-сайт, аутентификационный повар ie, установленный в браузере, корректно работает на локальном хосте, но в веб-ферме через некоторое время, например, через 2 минуты, этот повар ie истекает, и пользователь выходит из системы, однако я установил время истечения. более 30 дней!

В asp.net MVC эта проблема решается при настройке машинного ключа в веб-конфигурации, но в asp.net core Я не знаю ответа.

Пожалуйста, помогите мне, спасибо

            services.AddAuthentication(options =>
        {
            options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;

        }).AddCookie(options =>
        {
            options.Cookie.Name = "eShop_Authentication";
            options.ExpireTimeSpan = TimeSpan.FromDays(30);
            options.LoginPath = "/auth/sign-in";
            options.LogoutPath = "/auth/sign-out";
        });

и контроллер аккаунта - Действие входа

                // TODO ---> Set Authentication Cookie

                var claims = new List<Claim>()
                {
                    new Claim(ClaimTypes.NameIdentifier , user.UserId.ToString()),
                    new Claim(ClaimTypes.Name , user.UserName)
                };

                var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);

                var principal = new ClaimsPrincipal(identity);

                var properties = new Microsoft.AspNetCore.Authentication.AuthenticationProperties()
                {
                    IsPersistent = login.RememberMe,
                    AllowRefresh = true,
                    ExpiresUtc = DateTimeOffset.Now.AddDays(30),
                };

                HttpContext.SignInAsync
                    (CookieAuthenticationDefaults.AuthenticationScheme,principal,properties);

1 Ответ

1 голос
/ 07 мая 2020

Наконец-то я исправил этот код при запуске

            services.AddDataProtection().PersistKeysToFileSystem(new DirectoryInfo(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/Keys")));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...