diff options
-rw-r--r-- | install/ui/ipa.js | 4 | ||||
-rw-r--r-- | ipaserver/rpcserver.py | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/install/ui/ipa.js b/install/ui/ipa.js index 5d59a89a4..080f4836d 100644 --- a/install/ui/ipa.js +++ b/install/ui/ipa.js @@ -120,6 +120,7 @@ var IPA = function() { }, on_success: function(data, text_status, xhr) { that.whoami = data.result[0]; + that.principal = that.whoami.krbprincipalname[0]; } })); @@ -419,6 +420,9 @@ IPA.command = function(spec) { message: data ? xhr.statusText : IPA.get_message('errors.no_response', 'No response') }); + } else if (IPA.principal && data.principal && IPA.principal !== data.principal) { + window.location.reload(); + } else if (data.error) { // error_handler() calls IPA.hide_activity_icon() error_handler.call(this, xhr, text_status, /* error_thrown */ { diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py index e12f2706e..2bfb8ea60 100644 --- a/ipaserver/rpcserver.py +++ b/ipaserver/rpcserver.py @@ -469,6 +469,7 @@ class jsonserver(WSGIExecutioner): result=result, error=error, id=_id, + principal=unicode(context.principal), ) response = json_encode_binary(response) return json.dumps(response, sort_keys=True, indent=4) |