
From: Aline Manera <alinefm@br.ibm.com> vnc_auto.html and spice.html are now protected through Kimchi authentication. When a non-authenticated user tries to access those URLs he/she will be redirected to login page. After it, he/she will get the console page according to cookies console_type and console_uri (set by nginx) Signed-off-by: Aline Manera <alinefm@br.ibm.com> --- ui/js/src/kimchi.login_window.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/ui/js/src/kimchi.login_window.js b/ui/js/src/kimchi.login_window.js index 44e5617..9c06a50 100644 --- a/ui/js/src/kimchi.login_window.js +++ b/ui/js/src/kimchi.login_window.js @@ -82,7 +82,24 @@ kimchi.login_main = function() { kimchi.login(settings, function() { var pAjax = kimchi.previousAjax; - if (pAjax && true === pAjax['resend']) { + var consoleURL = kimchi.cookie.get("console_uri"); + if (consoleURL) { + var path = /.*\/(.*?)\?.*/g.exec(consoleURL)[1]; + var query = consoleURL.substr(consoleURL.indexOf("?") + 1); + + var proxy_port = /.*port=(.*?)(&|$)/g.exec(consoleURL)[1]; + var http_port = /.*kimchi=(.*?)(&|$)/g.exec(consoleURL); + var kimchi_port = http_port ? http_port[1] : location.port; + + url = location.protocol + "//" + location.hostname; + url += ":" + proxy_port + "/console.html?url=" + path; + url += "&" + query; + url += "&kimchi=" + kimchi_port; + + kimchi.cookie.remove("console_uri"); + window.location.replace(url) + } + else if (pAjax && true === pAjax['resend']) { pAjax['error'] = pAjax['originalError']; $.ajax(pAjax); kimchi.previousAjax = null; -- 1.7.10.4