Sessions: Создайте новый сеанс, поддерживаемый файловой системой, если совпадение не может быть найдено

Созданный на 30 янв. 2013  ·  7Комментарии  ·  Источник: gorilla/sessions

Я использую хранилище сеансов файловой системы и очистил каталог сеанса после создания сеанса, чтобы посмотреть, что произойдет. Сообщение журнала выглядело так:

2013/01/30 00:42:44 open /Users/gtaylor/Documents/workspace/gopath/src/monweb/sessions/session_5A5RY546OOHJUSK5DEVARK7LFUW2NRLCNMC2V2TS2AVQ4GB22ZBA: no such file or directory

Может быть, было бы неплохо создать новый сеанс вместо жесткого отказа? Похоже, что в настоящее время это неисправимая ошибка, поскольку у пользователя установлен файл cookie с идентификатором сеанса, но сопоставление всегда не выполняется.

enhancement help wanted stale

Самый полезный комментарий

У меня аналогичная ошибка (при использовании MacOS 10.12.6):

удалить / var / папки / 1c / btjqtfcn1291_65wj5jphtg40000gn / T / session_: нет такого файла или каталога

Я понимаю предложения OP и glaslos; Лучше всего просто создать новый идентификатор сеанса. Как лучше всего это сделать? Приветствуется использование примера функции.

Все 7 Комментарий

Все еще нет способа справиться с этим?

Я, конечно, открыт для любой помощи в этом вопросе - очень ограничен во времени.

Я столкнулся с той же проблемой. Подумал об этом и пришел к выводу, что текущая реализация меня устраивает. Возвращая ошибку, я могу решить, как я хочу ее обработать: создать новый сеанс с тем же идентификатором? Создать новый идентификатор? Вернуть клиенту ошибку? Что делать, если клиент изменил идентификатор сеанса? Кто-то подбирает идентификаторы сеансов? ИМХО это обычное дело.

я не понимаю: FilesystemStore сохраняет сеансы в файл в браузере клиента или в каталоге сервера?

@fardok сеанс, и его данные хранятся на стороне сервера файловой системы, а на стороне клиента идентификатор сеанса в файле cookie.

У меня аналогичная ошибка (при использовании MacOS 10.12.6):

удалить / var / папки / 1c / btjqtfcn1291_65wj5jphtg40000gn / T / session_: нет такого файла или каталога

Я понимаю предложения OP и glaslos; Лучше всего просто создать новый идентификатор сеанса. Как лучше всего это сделать? Приветствуется использование примера функции.

Эта проблема была автоматически помечена как устаревшая, поскольку для нее не было недавних обновлений. Он будет автоматически закрыт через несколько дней.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги