summaryrefslogtreecommitdiffstats
path: root/ipalib
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib')
-rw-r--r--ipalib/plugins/session.py31
-rw-r--r--ipalib/session.py29
2 files changed, 31 insertions, 29 deletions
diff --git a/ipalib/plugins/session.py b/ipalib/plugins/session.py
new file mode 100644
index 000000000..3fd566d32
--- /dev/null
+++ b/ipalib/plugins/session.py
@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2015 FreeIPA Contributors see COPYING for license
+#
+
+from ipalib import Command
+from ipalib.request import context
+from ipalib.session import session_mgr
+from ipalib.plugable import Registry
+
+register = Registry()
+
+
+@register()
+class session_logout(Command):
+ '''
+ RPC command used to log the current user out of their session.
+ '''
+ NO_CLI = True
+
+ def execute(self, *args, **options):
+ session_data = getattr(context, 'session_data', None)
+ if session_data is None:
+ self.debug('session logout command: no session_data found')
+ else:
+ session_id = session_data.get('session_id')
+ self.debug('session logout command: session_id=%s', session_id)
+
+ # Notifiy registered listeners
+ session_mgr.auth_mgr.logout(session_data)
+
+ return dict(result=None)
diff --git a/ipalib/session.py b/ipalib/session.py
index 2f732b333..ec6c2081c 100644
--- a/ipalib/session.py
+++ b/ipalib/session.py
@@ -26,7 +26,6 @@ from urllib2 import urlparse
from text import _
from ipapython.ipa_log_manager import *
from ipalib import api, errors
-from ipalib import Command
from ipaplatform.paths import paths
from ipalib.krb_utils import *
from ipapython.cookie import Cookie
@@ -1278,32 +1277,4 @@ def release_ipa_ccache(ccache_name):
else:
raise ValueError('ccache scheme "%s" unsupported (%s)', scheme, ccache_name)
-
-#-------------------------------------------------------------------------------
-
-from ipalib.request import context
-
-class session_logout(Command):
- '''
- RPC command used to log the current user out of their session.
- '''
-
- def execute(self, *args, **options):
- session_data = getattr(context, 'session_data', None)
- if session_data is None:
- self.debug('session logout command: no session_data found')
- else:
- session_id = session_data.get('session_id')
- self.debug('session logout command: session_id=%s', session_id)
-
- # Notifiy registered listeners
- session_mgr.auth_mgr.logout(session_data)
-
- return dict(result=None)
-
-api.register(session_logout)
-
-#-------------------------------------------------------------------------------
-
-
session_mgr = MemcacheSessionManager()