diff options
author | Simo Sorce <simo@redhat.com> | 2014-03-02 17:59:14 -0500 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2014-03-02 18:10:39 -0500 |
commit | 78198cc8a258ec9143c00b0b3c12d5c57a1f858d (patch) | |
tree | 8a8a68d383db7ea066eb9e3d4a08decf350f65da /ipsilon/util/user.py | |
parent | 3983bef596613acf4576957cfeea34dc7be421c4 (diff) | |
download | ipsilon-78198cc8a258ec9143c00b0b3c12d5c57a1f858d.tar.gz ipsilon-78198cc8a258ec9143c00b0b3c12d5c57a1f858d.tar.xz ipsilon-78198cc8a258ec9143c00b0b3c12d5c57a1f858d.zip |
Create a user facility in the session
This way all identification data about the user can be managed in
a single place and be erased/replaced at login time.
Signed-off-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'ipsilon/util/user.py')
-rwxr-xr-x | ipsilon/util/user.py | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/ipsilon/util/user.py b/ipsilon/util/user.py index 387df11..72c5041 100755 --- a/ipsilon/util/user.py +++ b/ipsilon/util/user.py @@ -93,7 +93,7 @@ class User(object): class UserSession(object): def __init__(self): - self.user = cherrypy.session.get('user', None) + self.user = self.get_data('user', 'name') def _debug(self, fact): if cherrypy.config.get('debug', False): @@ -111,8 +111,8 @@ class UserSession(object): return # REMOTE_USER changed, replace user - cherrypy.session['user'] = username - cherrypy.session.save() + self.nuke_data('user') + self.save_data('user', 'name', username) cherrypy.log('LOGIN SUCCESSFUL: %s', username) @@ -143,12 +143,16 @@ class UserSession(object): return None return cherrypy.session[facility][name] - def nuke_data(self, facility, name): + def nuke_data(self, facility, name=None): if facility not in cherrypy.session: return - if name not in cherrypy.session[facility]: - return - cherrypy.session[facility][name] = None - del cherrypy.session[facility][name] + if name: + if name not in cherrypy.session[facility]: + return + cherrypy.session[facility][name] = None + del cherrypy.session[facility][name] + self._debug('Nuked session data named [%s:%s]' % (facility, name)) + else: + del cherrypy.session[facility] + self._debug('Nuked session facility [%s]' % (facility,)) cherrypy.session.save() - self._debug('Nuked session data named [%s:%s]' % (facility, name)) |