Как работают сеансы django

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


person identicon    schedule 21.06.2018    source источник
comment
это мой собственный метод: pastebin.com/40fzr5nG   -  person Diego Avila    schedule 21.06.2018
comment
когда пользователь отправляет форму входа в систему, перейдите к функции проверки ... если пароль и пользователь верны, я сохраняю имя пользователя в сеансе и проверяю с помощью этого имени пользователя при каждом просмотре   -  person Diego Avila    schedule 21.06.2018
comment
но где сеанс хранится в памяти или базе данных   -  person identicon    schedule 21.06.2018
comment
в этом случае я использую в памяти   -  person Diego Avila    schedule 21.06.2018
comment
теперь, если пользователь обращается к странице через неделю, мне все равно нужно предоставить ему доступ, поэтому в этом методе данные будут храниться в памяти в течение недели, хранение данных для многих пользователей таким образом перегрузит сервер   -  person identicon    schedule 21.06.2018
comment
да, конечно, я работаю над приложением с django, и с помощью этого метода сеанс происходит каждый раз ... только когда пользователь закрывает сеанс (выход из системы), только в этом случае уничтожается сеанс   -  person Diego Avila    schedule 21.06.2018
comment
в этом случае сеанс - это клиентская сторона, а не сторона сервера   -  person Diego Avila    schedule 21.06.2018
comment
@ Tegito123 Ваша функция входа в систему / авторизации - это просто худшая версия того, что предоставляет фреймворк авторизации django. @identicon Завершение сеанса пользователя при закрытии браузера зависит от браузера, а не сервера. Вы можете указать браузеру завершить сеанс, установив SESSION_EXPIRE_AT_BROWSER_CLOSE = True в settings.py. Если вы хотите обеспечить это, вам нужно, чтобы клиент время от времени пинговал конечную точку на вашем сервере, и когда они перестанут пинговать, вы аннулируете сеанс в базе данных.   -  person Jesse    schedule 21.06.2018
comment
хорошо, если мы сохраняем имя пользователя в сеансе на стороне клиента, если пользователь меняет его, как мы собираемся его авторизовать, нам нужно что-то для хранения на стороне сервера   -  person identicon    schedule 21.06.2018
comment
я нашел то, что мне нужно gavinballard.com/associating-django-users-sessions   -  person identicon    schedule 21.06.2018


Ответы (1)


Я нашел то, что мне нужно, http://gavinballard.com/associating-django-users-sessions/ путем создания собственной модели, расширяющей модель по умолчанию.

person identicon    schedule 21.06.2018