From c5e0189d135e087bdeefcabdf05716985c9f110f Mon Sep 17 00:00:00 2001 From: phasefx Date: Fri, 19 Dec 2008 18:48:17 +0000 Subject: [PATCH] backporting changeset 11388 for setting a ses cookie for Vandelay and friends git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_4@11627 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/xul/staff_client/chrome/content/main/main.js | 12 ++++++++++++ Open-ILS/xul/staff_client/chrome/content/main/menu.js | 13 +++++++++++++ Open-ILS/xul/staff_client/chrome/content/util/network.js | 12 ++++++++++++ 3 files changed, 37 insertions(+) diff --git a/Open-ILS/xul/staff_client/chrome/content/main/main.js b/Open-ILS/xul/staff_client/chrome/content/main/main.js index a91f1ec2a2..ba18315be5 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/main.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/main.js @@ -90,6 +90,18 @@ function main_init() { G.data.server = url; G.data.stash('server'); G.data.session = { 'key' : G.auth.session.key, 'auth' : G.auth.session.authtime }; G.data.stash('session'); G.data.stash_retrieve(); + try { + var ios = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService); + var cookieUri = ios.newURI("http://" + G.data.server_unadorned, null, null); + var cookieUriSSL = ios.newURI("https://" + G.data.server_unadorned, null, null); + var cookieSvc = Components.classes["@mozilla.org/cookieService;1"].getService(Components.interfaces.nsICookieService); + + cookieSvc.setCookieString(cookieUri, null, "ses="+G.data.session.key, null); + cookieSvc.setCookieString(cookieUriSSL, null, "ses="+G.data.session.key, null); + + } catch(E) { + alert('Error setting session cookie: ' + E); + } grant_perms(url); diff --git a/Open-ILS/xul/staff_client/chrome/content/main/menu.js b/Open-ILS/xul/staff_client/chrome/content/main/menu.js index fd8087e550..f668ce5f5f 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/menu.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/menu.js @@ -488,6 +488,19 @@ main.menu.prototype = { network.simple_request('AUTH_DELETE', [ obj.data.session.key ] ); obj.data.session = obj.data.previous_session; obj.data.stash('session'); + try { + var ios = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService); + var cookieUri = ios.newURI("http://" + obj.data.server_unadorned, null, null); + var cookieUriSSL = ios.newURI("https://" + obj.data.server_unadorned, null, null); + var cookieSvc = Components.classes["@mozilla.org/cookieService;1"].getService(Components.interfaces.nsICookieService); + + cookieSvc.setCookieString(cookieUri, null, "ses="+obj.data.session.key, null); + cookieSvc.setCookieString(cookieUriSSL, null, "ses="+obj.data.session.key, null); + + } catch(E) { + alert('Error setting session cookie: ' + E); + } + removeCSSClass(document.getElementById('main_tabbox'),'operator_change'); } else { if (network.get_new_session(offlineStrings.getString('menu.cmd_chg_session.label'),{'url_prefix':obj.url_prefix})) { diff --git a/Open-ILS/xul/staff_client/chrome/content/util/network.js b/Open-ILS/xul/staff_client/chrome/content/util/network.js index 736d6801f0..6d425d09c6 100644 --- a/Open-ILS/xul/staff_client/chrome/content/util/network.js +++ b/Open-ILS/xul/staff_client/chrome/content/util/network.js @@ -261,6 +261,18 @@ util.network.prototype = { data.session.key = data.temporary_session.key; data.session.authtime = data.temporary_session.authtime; data.stash('session'); + try { + var ios = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService); + var cookieUri = ios.newURI("http://" + data.server_unadorned, null, null); + var cookieUriSSL = ios.newURI("https://" + data.server_unadorned, null, null); + var cookieSvc = Components.classes["@mozilla.org/cookieService;1"].getService(Components.interfaces.nsICookieService); + + cookieSvc.setCookieString(cookieUri, null, "ses="+data.session.key, null); + cookieSvc.setCookieString(cookieUriSSL, null, "ses="+data.session.key, null); + + } catch(E) { + alert('Error setting session cookie: ' + E); + } if (! data.list.au ) data.list.au = []; data.list.au[0] = JSON2js( data.temporary_session.usr ); data.stash('list'); -- 2.11.0