cloudstack/ui/scripts/cloud.core.callbacks.js
Manuel Amador (Rudd-O) 05c020e1f6 Source code committed
2010-08-11 09:13:29 -07:00

92 lines
3.8 KiB
JavaScript

/**
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
*
* This software is licensed under the GNU General Public License v3 or later.
*
* It is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
// Version: @VERSION@
/*
This file is meant to help with implementing single signon integration. If you are using the
cloud.com default UI, there is no need to touch this file.
*/
/*
This callback function is called when either the session has timed out for the user,
the session ID has been changed (i.e. another user logging into the UI via a different tab),
or it's the first time the user has come to this page.
*/
function onLogoutCallback() {
// Returning true means the LOGIN page will be show. If you wish to redirect the user
// to different login page, this is where you would do that.
return true;
}
/*
For single signon purposes, you should set the following cookies so that the UI does not force a logout.
JSESSIONID : jsessionid generated by the mgmt server
username : username
role : 0 = User, 1 = ROOT Admin, 2 = Domain Admin
domainid: domainid
All values can be retrieved by making a successful AJAX login call to the mgmt server.
If you cannot set these cookies before redirecting to this mgmt UI. You can uncomment the code
below and as long as you can retrieve the username, password, and domain in another manner (i.e. through
a querystring), you can execute the login command below.
*/
/*
$(document).ready(function() {
//var username = encodeURIComponent($("#account_username").val());
//var password = encodeURIComponent($("#account_password").val());
//var domain = encodeURIComponent($("#account_domain").val());
//var url = "/client/api?command=login&username="+username+"&password="+password+"&domain="+domain+"&response=json";
// Test URL
var url = "/client/api?command=login&username=admin&password=password&domain=ROOT&response=json";
$.ajax({
url: url,
dataType: "json",
async: false,
success: function(json) {
$.cookie('username', json.loginresponse.username);
$.cookie('role', json.loginresponse.type);
$.cookie('networktype', json.loginresponse.networktype);
$.cookie('hypervisortype', json.loginresponse.hypervisortype);
$.cookie('domainid', '1'); //e.g. domainid of ROOT domain is 1
$.cookie('account', json.loginresponse.account);
$.cookie('directattachnetworkgroupsenabled', json.loginresponse.directattachnetworkgroupsenabled);
$.cookie('directattacheduntaggedenabled', json.loginresponse.directattacheduntaggedenabled);
$.cookie('timezoneoffset', null); //comment this line and uncomment the next line if you want to set a specific timezone offset. Otherwise, default timezone from browser will be used.
//$.cookie('timezoneoffset', '5.75'); //e.g. Timezone "Kathmandu" is 'UTC+05:45'. Thus, its timezoneoffset is '5.75'
$.cookie('timezone', null); //comment this line and uncomment the next line if you want to set a specific timezone. This value is used for any default timezone dropdown
//$.cookie('timezone', 'America/Los_Angeles');
},
error: function() {
// This means the login failed. You should redirect to your login page.
},
beforeSend: function(XMLHttpRequest) {
return true;
}
});
});
*/