Задать вопрос
LifeAct
@LifeAct
Создаем и раскручиваем, не ставим на конвейер

Как сделать чтобы запоминал вход AspNet.Identity?

Всем привет. Сайт asp mvc 5, авторизация стандартная (индивидуальная) - Microsoft.AspNet.Identity
Логинусь (галка запомнить меня - нажимаю) и хватает на сутки... потом опять нужно логиниться.

Гуглил этот вопрос, вот что добавил в Startup.Auth.cs

public void ConfigureAuth(IAppBuilder app)
        {
            // Configure the db context, user manager and signin manager to use a single instance per request
            app.CreatePerOwinContext(ApplicationDbContext.Create);
            app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
            app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);

            // Enable the application to use a cookie to store information for the signed in user
            // and to use a cookie to temporarily store information about a user logging in with a third party login provider
            // Configure the sign in cookie
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
               //LoginPath = new PathString("/Home/Maintance"),
               LoginPath = new PathString("/Account/Login"),


                    

                Provider = new CookieAuthenticationProvider
                {
                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
             validateInterval: TimeSpan.FromDays(40),
            regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)),
                },
                SlidingExpiration = false,
                ExpireTimeSpan = TimeSpan.FromDays(40)
            });


            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);


#решение

Если у вас хостинг, то возможно, там стоит ферма, и дело в Machine Key.
Надо сгенерить новый уникальный machine key, и записать в web.config:

тут генерим www.allkeysgenerator.com/Random/ASP-Net-MachineKey... и вставляем в вебконфиг
  • Вопрос задан
  • 553 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
petermzg
@petermzg
Самый лучший программист
SlidingExpiration = true,
и
Provider = new CookieAuthenticationProvider
можно оставить с параметрами по умолчанию.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы