From 6839d8334ead3613068c5a031b32d7dd34219a9f Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Mon, 15 Apr 2013 16:41:25 +0200 Subject: Make jsonserver_kerb start a cookie-based session Part of the work for: https://fedorahosted.org/freeipa/ticket/3299 --- ipaserver/rpcserver.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'ipaserver') diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py index 49643059..e4be51d6 100644 --- a/ipaserver/rpcserver.py +++ b/ipaserver/rpcserver.py @@ -755,13 +755,18 @@ class jsonserver_session(jsonserver, KerberosSession): return response -class jsonserver_kerb(jsonserver): + +class jsonserver_kerb(jsonserver, KerberosSession): """ JSON RPC server protected with kerberos auth. """ key = '/json' + def _on_finalize(self): + super(jsonserver_kerb, self)._on_finalize() + self.kerb_session_on_finalize() + def __call__(self, environ, start_response): ''' ''' @@ -777,6 +782,10 @@ class jsonserver_kerb(jsonserver): try: response = super(jsonserver_kerb, self).__call__(environ, start_response) + if (getattr(context, 'session_data', None) is None and + self.env.context != 'lite'): + self.finalize_kerberos_acquisition('jsonserver', user_ccache, + environ, start_response) finally: destroy_context() -- cgit