powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / asp mvc. Запомнить меня - не работает
5 сообщений из 5, страница 1 из 1
asp mvc. Запомнить меня - не работает
    #39407715
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Сайт asp mvc 5, авторизация стандартная (индивидуальная) - Microsoft.AspNet.Identity
Логинусь (галка запомнить меня - нажимаю) и хватает на сутки... потом опять нужно логиниться.

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

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
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 = true,
                ExpireTimeSpan = TimeSpan.FromDays(40)
            });


            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);



Что еще ему не хватает?
Спасибо.
...
Рейтинг: 0 / 0
asp mvc. Запомнить меня - не работает
    #39407911
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnick,

Судя по коду, у вас все достаточно стандартно. Не работает - где? на локальной машине? Или уже на сервере?
...
Рейтинг: 0 / 0
asp mvc. Запомнить меня - не работает
    #39407973
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlassSputnick,

Судя по коду, у вас все достаточно стандартно. Не работает - где? на локальной машине? Или уже на сервере?

на серваке конечно, в продакшине...

может это связано с этим - у меня базовый контроллер есть:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
    public class BaseController : Controller
    {

       


        private BusinessLayer.User.User _currentUser;
        public BusinessLayer.User.User CurrentUser
        {
            get
            {
                if (!Request.IsAuthenticated) return null;

                if (_currentUser != null) return _currentUser;

                //try to get it form Session first, if its not there -> create it and put in the session
                if (Session["CurrentUser"] == null)
                {
                    _currentUser = new UserManager().UserDetailedByName(User.Identity.Name);
                    
                    Session["CurrentUser"] = _currentUser;
                    return _currentUser;
                }
                else //set it to the local var for the multiple references in the calling code and return
                {
                    _currentUser = (BusinessLayer.User.User)Session["CurrentUser"];
                    return _currentUser;
                }
            }

            set
            {
                _currentUser = value;
                Session["CurrentUser"] = _currentUser;
            }
        }



    }



и дальше в других контроллерах я уже обращаюсь к CurrentUser, чтобы не дергать постоянно базу....
...
Рейтинг: 0 / 0
asp mvc. Запомнить меня - не работает
    #39407982
Glass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у вас хостинг, то возможно, там стоит ферма, и дело в Machine Key.
Надо сгенерить новый уникальный machine key, и записать в web.config:

Код: xml
1.
2.
3.
<system.web>
  <machineKey validationKey="*****" decryptionKey="***" validation="SHA1" decryption="AES" />
</system.web>
...
Рейтинг: 0 / 0
asp mvc. Запомнить меня - не работает
    #39407990
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlassЕсли у вас хостинг, то возможно, там стоит ферма, и дело в Machine Key.
Надо сгенерить новый уникальный machine key, и записать в web.config:

Код: xml
1.
2.
3.
<system.web>
  <machineKey validationKey="*****" decryptionKey="***" validation="SHA1" decryption="AES" />
</system.web>



ух ты, не знал, попробую сгенерить http://www.allkeysgenerator.com/Random/ASP-Net-MachineKey-Generator.aspx
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / asp mvc. Запомнить меня - не работает
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]