Как ограничть одновеменый доступ пользователям в Django?
Можно ли в Django ограничить одновременое пребывание на сайте пользователя до одного. То есть один пользователь зашел под своим логином и паралем, но другой человек паралельно сидеть под тем же аккаунтом не может.
Это самое простое, но при этом между пользователями может возникнуть гонка. Например, Петя залогинился, заполнил сложную форму, жмёт кнопку "Сохранить", и... громко матерится. Потому что Петина сессия стёрлась, когда Вася пол минуты назад залогинился.
Underground2713, да я, как бы, тоже давно на джанге ничего не делал, но общие принципы одинаковы. Вот статья про сессии в джанге.
Я так понимаю, что нужно удалить все сессии пользователя, кроме новой. Может быть там даже параметр есть специальный при формировании сессии.
Если вам надо готовое решение "под ключ", то следует обращаться к фрилансерам. Здесь вам с удовольствием подскажут что подучить. Судя по тому какой вы новичок, вам стоит поглубже изучить джанго. Вам недостаточно будет наших коротких ответов.
Мне кажется хабру пора сделать под вопросами кнопку "Сделаю это за Х рублей".
Народ сможет набиватьс ебе репутацию бесплатными ответами, а потом зарабатывать удалённо решая проблемы за денежку.
Владимир, вы правы, но это же проблема пользователей. Вопрос состоял в том, чтобы пользователи не могли вдвоём под одним профилем сидеть. Если они-таки сидят и мешают друг-другу, то сами виноваты.
Можно ввести таймаут на частые переавторизации из нового браузера, но это если пользователи настолько себя не уважают, что готовы авторизоваться на каждый рефреш.
Сергей Паньков, извините, прочитал вопрос по диагонали. Мне подумалось, что на сайте из ВСЕХ имеющихся пользователей может быть только ОДИН авторизованный. Ваш вариант рабочий.
Сергей Паньков,
Но если я удалю все, то удалиться текущая сессия. А мне нужно чтобы если зайдет кто то другой под тем же аккаунтом, как-то оставить новую сессию а старую которая паралельно удалить я так понимаю. Но как это сделать ?