From: Aline Manera <alinefm(a)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(a)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