00001 var selectedSecurityChoice_ = "";
00002 var IDs_ = ['NoSecurity', 'DigestAccessAuthentication'];
00003 var selection_ = [];
00004 INTERVAL_ = 1;
00005 state_ = document.getElementById("state");
00007 nonSelectedRed = 2;
00008 nonSelectedGreen = 2;
00009 nonSelectedBlue = 2;
00011 var nonSelectedTargetRed;
00012 var nonSelectedTargetGreen;
00013 var nonSelectedtargetBlue;
00015 selectedRed = 2;
00016 selectedGreen = 2;
00017 selectedBlue = 2;
00019 var selectedTargetRed;
00020 var selectedTargetGreen;
00021 var selectedtargetBlue;
00023
00024
00025
00026 function init(){
00027 console.log("init()");
00028 DesktopContent.tooltip("Security in the Wiz-Mode",
00029 "This is an introduction into the Wiz-Mode Security!" +
00030 "\n\n" +
00031 "There are currently two options for otsdaq Security:" +
00032 "\n\t- <b>No Security:</b>\n<INDENT>" +
00033 "Just as it sounds, there will be no login required, and all requests " +
00034 "will be treated as though they come from fully priveleged administrators. " +
00035 "The only security is afforded by keeping your URL unknown (like on a private network)." +
00036 "\n\n" +
00037 "This mode is usually convenient during development when no hardware is at stake." +
00038 "</INDENT>" +
00039 "\n\t- <b>Digest Access Authentication:</b>\n<INDENT>" +
00040 "This is a straightforward username and password approach to security. " +
00041 "Included in this selection, when using a HTTPS gateway, is CILOGON certificate access if users associate and email " +
00042 "address with their accounts." +
00043 "Users can be assigned different levels of access individually." +
00044 "\n\n" +
00045 "This mode, behind the ots HTTPS nodejs gateway, is the recommended <i>otsdaq</i> security approach." +
00046 "</INDENT>"
00047 );
00048
00049
00050 for(var index = 0; index < IDs_.length; index++)
00051 selection_[index] = IDs_[index];
00052
00053
00054 colorFade('orange', "all");
00055 state_= document.getElementById("state");
00056 state_.innerHTML = "Loading...";
00057
00058 var setSelection=setTimeout(makeServerRequest, 1000);
00059 }
00060
00061
00062 function colorFade(secondColor, which){
00063
00064
00065
00066
00067 if(which == "selected" || which == "all"){
00068
00069 if(secondColor == 'orange'){
00070 selectedTargetRed = 255;
00071 selectedTargetGreen = 188;
00072 selectedTargetBlue = 18;
00073 }else if(secondColor == 'red'){
00074 selectedTargetRed = 242;
00075 selectedTargetGreen = 5;
00076 selectedTargetBlue = 5;
00077 }else if(secondColor == 'green'){
00078 selectedTargetRed = 56;
00079 selectedTargetGreen = 224;
00080 selectedTargetBlue = 56;
00081 }else if(secondColor == 'current'){
00082
00083 }
00084
00085 }
00086 if(which == "notSelected" || which == "all"){
00087
00088 if(secondColor == 'orange'){
00089 nonSelectedTargetRed = 255;
00090 nonSelectedTargetGreen = 188;
00091 nonSelectedTargetBlue = 18;
00092 }else if(secondColor == 'red'){
00093 nonSelectedTargetRed = 242;
00094 nonSelectedTargetGreen = 5;
00095 nonSelectedTargetBlue = 5;
00096 }else if(secondColor == 'green'){
00097 nonSelectedTargetRed = 56;
00098 nonSelectedTargetGreen = 224;
00099 nonSelectedTargetBlue = 56;
00100 }else if(secondColor == 'current'){
00101
00102 }
00103 }
00104
00105
00106
00107 var colorChanger=setTimeout(decreaseColor, INTERVAL_);
00108
00109
00110 }
00111
00112 function decreaseColor(){
00113 if(selectedRed > 0)
00114 --selectedRed;
00115 if(selectedGreen > 0)
00116 --selectedGreen;
00117 if(selectedBlue > 0)
00118 --selectedBlue;
00119 if(nonSelectedRed > 0)
00120 --nonSelectedRed;
00121 if(nonSelectedGreen > 0)
00122 --nonSelectedGreen;
00123 if(nonSelectedBlue > 0)
00124 --nonSelectedBlue;
00125
00126 setDivGlow();
00127
00128 if((selectedRed + selectedGreen + selectedBlue + nonSelectedRed + nonSelectedGreen + nonSelectedBlue) > 0)
00129 colorChanger = setTimeout(decreaseColor, INTERVAL_);
00130 else{
00131 restructure();
00132 colorChanger = setTimeout(increaseColor, INTERVAL_);
00133
00134 }
00135 }
00136
00137 function increaseColor(){
00138 if(selectedRed < selectedTargetRed)
00139 ++selectedRed;
00140 if(selectedGreen < selectedTargetGreen)
00141 ++selectedGreen;
00142 if(selectedBlue < selectedTargetBlue)
00143 ++selectedBlue;
00144 if(nonSelectedRed < nonSelectedTargetRed)
00145 ++nonSelectedRed;
00146 if(nonSelectedGreen < nonSelectedTargetGreen)
00147 ++nonSelectedGreen;
00148 if(nonSelectedBlue < nonSelectedTargetBlue)
00149 ++nonSelectedBlue;
00150 setDivGlow();
00151
00152 if((selectedRed + selectedGreen + selectedBlue + nonSelectedRed + nonSelectedGreen + nonSelectedBlue) < (selectedTargetRed + selectedTargetGreen + selectedTargetBlue + nonSelectedTargetRed + nonSelectedTargetGreen + nonSelectedTargetBlue))
00153 colorChanger = setTimeout(increaseColor, INTERVAL_);
00154
00155 }
00156
00157 function setDivGlow(){
00158
00159
00160 for(var index = 0; index < (selection_.length); index++)
00161 {
00162 var div = document.getElementById(selection_[index]);
00163 if(index < (selection_.length-1)){
00164 div.style.boxShadow = "0px 0px 64px 20px rgba(" + nonSelectedRed + "," + nonSelectedGreen + "," + nonSelectedBlue + ",1)";
00165 div.style.webkitBoxShadow = "0px 0px 64px 20px rgba(" + nonSelectedRed + "," + nonSelectedGreen + "," + nonSelectedBlue + ",1)";
00166 div.style.mozBoxShadow = "0px 0px 64px 20px rgba(" + nonSelectedRed + "," + nonSelectedGreen + "," + nonSelectedBlue + ",1)";
00167 }else{
00168 div.style.boxShadow = "0px 0px 64px 20px rgba(" + selectedRed + "," + selectedGreen + "," + selectedBlue + ",1)";
00169 div.style.webkitBoxShadow = "0px 0px 64px 20px rgba(" + selectedRed + "," + selectedGreen + "," + selectedBlue + ",1)";
00170 div.style.mozBoxShadow = "0px 0px 64px 20px rgba(" + selectedRed + "," + selectedGreen + "," + selectedBlue + ",1)";
00171 }
00172 }
00173
00174 }
00175
00176
00177 function showVisualSelection(){
00178
00179
00180 state_.innerHTML = " ";
00181
00182
00183 colorFade('green', 'selected');
00184
00185 colorFade('red', 'notSelected');
00186
00187 }
00188
00189 function confirm(description){
00190 var randomNumber = Math.floor(Math.random() * 99999999)
00191 if(prompt("Are you sure? "+ description + " Type " + randomNumber + " to continue:") == randomNumber)
00192 if(prompt("I know exactly what I'm doing. Type 'I Do':") == "I Do"){
00193 setSecurity('ResetSecurityUserData');
00194 }
00195 else
00196 alert("You did not type 'I Do.' Mission aborted!");
00197
00198 else
00199 alert("You did not type the correct number. Mission aborted!");
00200 }
00201
00202 function setSecurity(id){
00203
00204 if(id == 'NoSecurity'){
00205 console.log("No Security selected.")
00206 selectedSecurityChoice_ = 'NoSecurity';
00207 }else if(id == 'DigestAccessAuthentication'){
00208 console.log("Digest Access Authentication selcted.")
00209 selectedSecurityChoice_= 'DigestAccessAuthentication';
00210 }else if(id == 'Kerberos'){
00211 console.log("Kerberos selected.")
00212 selectedSecurityChoice_= 'Kerberos';
00213 }else if(id == 'ResetSecurityUserData'){
00214 console.log("Reset Data selected.")
00215 selectedSecurityChoice_= 'ResetSecurityUserData';
00216 }else{
00217 console.log("Selection not recognized!");
00218 return;
00219 }
00220
00221
00222 var serverRequest = "selection=" + selectedSecurityChoice_;
00223 console.log(serverRequest);
00224 makeServerRequest(serverRequest);
00225 }
00226
00227 function makeServerRequest(data){
00228
00229 DesktopContent.XMLHttpRequest("editSecurity", data, editSecurityHandler, undefined, undefined);
00230 }
00231
00232 function restructure(){
00233
00234 for(var index = 0; index < IDs_.length; index++)
00235 {
00236 if(selectedSecurityChoice_ != "")
00237 {
00238 if(selectedSecurityChoice_ != IDs_[index])
00239 selection_[index] = IDs_[index];
00240 }
00241 }
00242 if(selectedSecurityChoice_ != "")
00243 selection_[selection_.length] = selectedSecurityChoice_;
00244
00245 }
00246
00247 var editSecurityHandler = function(req){
00248
00249 if(!req || !req.responseText.length)
00250 {
00251 Debug.log("Action Failed. Invalid Verify Code!", Debug.HIGH_PRIORITY);
00252 selectedSecurityChoice_ = "";
00253 showVisualSelection();
00254 return;
00255 }
00256
00257 if(selectedSecurityChoice_ == "ResetSecurityUserData")
00258 Debug.log("User Data was RESET successfully!", Debug.INFO_PRIORITY);
00259
00260 selectedSecurityChoice_ = req.responseText;
00261 console.log(selectedSecurityChoice_);
00262 showVisualSelection();
00263 return;
00264 }