У меня есть приложение asp.net, которое, кажется, забывает, что пользователь вошел в систему через некоторое время.
Я пользуюсь провайдером членства и, когда решаю «запомнить» журнал, он запоминает его во время сеанса. Я даже могу закрыть браузер, перезапустить и вернуться, и он все равно будет авторизован. Но через некоторое время он забывает и, кажется, делает это в любое старое время. Однажды я вошел в систему, и когда я зашел на новую страницу, она вышла из системы.
Другие странные вещи:
- На моей машине для разработки он запоминает логин навсегда. Даже после перезапуска и перекомпиляции IIS он запомнит мой логин, как и ожидалось.
- У меня есть другое приложение на том же сервере, которое запоминает логин навсегда. Я сравнил, как они обрабатывают логин, и они кажутся идентичными.
Это наводит меня на мысль, что проблема связана с сервером или, возможно, с чем-то в приложении, не связанным напрямую с логином и кодом участника. На что я могу посмотреть?
Edit:
Посмотрел куки с помощью Fiddler, и они вроде бы в порядке.
Срок действия файла cookie для аутентификации, созданного сегодня, истекает через 2 недели, и так настроен мой конфиг:
истекает = понедельник, 06 сентября 2010 года 01:47:51 GMT
Edit:
Похоже, проблема заключается в том, что пул приложений перерабатывается и cookie-файл проверки подлинности становится недействительным, поскольку он больше не может быть прочитан после изменения ключа компьютера. Решением было добавить сегмент machineKey в web.config и предоставить статический ключ машины.