From ee42ef37beb2c6d38d97aa47b2a4bd370aa24377 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Wed, 26 Nov 2014 15:21:04 +0530 Subject: [PATCH] [feature] allow blocking of multiple user sessions #884: --- frappe/auth.py | 9 +++++++++ frappe/change_log/v5_0/v5_0_0.md | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/frappe/auth.py b/frappe/auth.py index eb41671799..a9dfa6006e 100644 --- a/frappe/auth.py +++ b/frappe/auth.py @@ -53,6 +53,15 @@ class HTTPRequest: # run login triggers if frappe.form_dict.get('cmd')=='login': frappe.local.login_manager.run_trigger('on_session_creation') + self.clear_active_sessions() + + def clear_active_sessions(self): + if not frappe.conf.get("deny_multiple_sessions"): + return + + if frappe.session.user != "Guest": + clear_sessions(frappe.session.user, keep_current=True) + def set_lang(self, lang): from frappe.translate import guess_language_from_http_header diff --git a/frappe/change_log/v5_0/v5_0_0.md b/frappe/change_log/v5_0/v5_0_0.md index 9ee1fc50fb..0353f0d2ed 100644 --- a/frappe/change_log/v5_0/v5_0_0.md +++ b/frappe/change_log/v5_0/v5_0_0.md @@ -1,3 +1,7 @@ ### Custom DocTypes The user can add Custom DocTypes (Forms) without creating a new app by setting **Custom** property. + +### Site Configuration + +- Stop multiple logins for a user by setting `deny_multiple_sessions` in `site_config.json`. [Help on `site_config.json`](https://frappe.io/docs/user-guide/site_config).