Я читал этот пост, потому что думал, что хочу сделать то же самое. У меня похожая ситуация для приложения, над которым я работаю. И на самом деле это вопрос тестирования больше, чем практичность.
Прочитав эти ответы, особенно ответ, который дал Майкл Боргвардт, я понял, какой рабочий процесс должен существовать:
- Если пользователь переходит к экрану входа, проверьте существующий сеанс. Если он существует, обойдите экран входа в систему и отправьте его на экран приветствия.
- Если пользователь (в моем случае) переходит к экрану регистрации, проверьте существующий сеанс. Если он существует, сообщите пользователю, что вы собираетесь выйти из сеанса. Если они согласны, выйдите из системы и начните регистрацию.
Это решит проблему, когда пользователь увидит данные «другого пользователя» в своем сеансе. Они на самом деле не видят данные «другого пользователя» в своем сеансе, они действительно видят данные из единственного открытого сеанса. Очевидно, что это вызывает некоторые интересные данные, так как некоторые операции перезаписывают одни данные сеанса, а не другие, поэтому у вас есть комбинация данных в этом единственном сеансе.
Теперь обратимся к проблеме тестирования. Единственный жизнеспособный подход - использовать Директивы препроцессора , чтобы определить, следует ли использовать сеансы без файлов cookie. Видите, благодаря созданию конкретной конфигурации для конкретной среды, я могу сделать некоторые предположения о среде и для чего она используется. Это позволило бы мне технически подключить одновременно двух пользователей, и тестер мог протестировать несколько сценариев из одного сеанса браузера, даже не выходя из какого-либо из этих сеансов сервера.
Однако, у этого подхода есть несколько серьезных предостережений. Не в последнюю очередь это тот факт, что тестер тестирует , а не , что будет запущено в производство.
Так что я думаю, что должен сказать, что в конечном итоге это плохая идея.