У меня есть существующий сайт, который я принимаю, и прямо сейчас он хранит в переменной сеанса идентификатор текущего пользователя, вошедшего в систему (если он вообще вошел в систему - в противном случае я уверен, что это пустая строка или ноль или что-то в этом роде).
Теперь клиент хочет, чтобы после того, как кто-то вошел в систему, «держать» его в системе на этом компьютере в течение неопределенного времени.
Я полагаю, что сеансы ASP.net имеют максимальное время простоя 1 день. Веб-сайт не очень хорошо написан во флэш-части (весь внешний интерфейс - флэш-память), и флэш-память будет обрабатывать вход в систему, а затем, пока флэш-память не будет перезагружена, предположим, что пользователь все еще «вошел в систему». .
Я думаю, что мое решение состоит в том, чтобы ТАКЖЕ хранить файл cookie на стороне клиента с некоторым значением GUID и хранить в базе данных связанный идентификатор пользователя... вроде сеанса, который никогда не истекает. Итак, когда страница загружается, я могу проверить свой файл cookie, использовать его для выбора идентификатора пользователя из базы данных, и если мы найдем его, то установить значение сеанса, которое говорит, что пользователь 23 вошел в систему.
Кто-нибудь видит какие-либо проблемы с этой точки зрения? Вы бы порекомендовали что-то другое? Я действительно не хочу рефакторить кучу существующего кода, а просто вставлю это сверху...
PS - безопасность на самом деле не проблема. Единственная причина, по которой люди входят в систему, заключается в том, что мы можем отслеживать заказы человека, но деньги не переходят из рук в руки через этот веб-сайт. Также нет личной информации, которую пользователь может просматривать или редактировать.