Идентификатор сеанса и изоляция пользователей не работают в Django - PullRequest
0 голосов
/ 13 июля 2020

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

Однако в настоящее время, когда я вхожу в систему с двумя отдельными пользователями в двух разных windows, Я вижу панель управления последнего пользователя, который вошел в систему.

В представлении входа я предоставляю SID следующим образом: request.session.create() Затем я передаю этот SID с другой информацией учетной записи классу, который я может получить доступ из представления приборной панели, чтобы идентифицировать пользователя.

После этого в представлении приборной панели я проверяю, равен ли текущий SID тому SID, который я передал классу в представлении входа в систему . Это выглядит так: if request.session.session_key == Credentials.session_id:

Однако похоже, что Django не изолирует пользователей, а обслуживает их последней информацией, которая была заполнена в классе. Как я могу решить эту проблему и, если возможно, кто-то предоставит какое-то техническое объяснение, это было бы здорово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...