<% // ASP JavaScript var WA_Auth_Separator = "|§|"; function WA_AuthenticateUser(WA_Auth_Parameter){ var UserAuthenticated = false; var WA_Auth_loginSQL = "SELECT " + WA_Auth_Parameter.sessionColumns.join(',') + " FROM " + WA_Auth_Parameter.tableName + " WHERE "; var WA_Auth_login_cmd; WA_Auth_login_cmd = Server.CreateObject("ADODB.Command"); WA_Auth_login_cmd.ActiveConnection = WA_Auth_Parameter.connection; for(var i=0;i0)?" AND ":" ") + WA_Auth_Parameter.columns[i] + " = ? "; WA_Auth_login_cmd.Parameters.Append(WA_Auth_login_cmd.CreateParameter("param"+i, WA_Auth_Parameter.columnTypes[i], 1, WA_Auth_Parameter.columnSizes[i], WA_Auth_Parameter.columnValues[i])); } WA_Auth_login_cmd.CommandText = WA_Auth_loginSQL; WA_Auth_login_cmd.Prepared = true; var WA_Auth_loginRS = WA_Auth_login_cmd.Execute(); if (!WA_Auth_loginRS.EOF || !WA_Auth_loginRS.BOF) { UserAuthenticated = true; for(var s = 0;s 0) { redirectURL += ((String(redirectURL).indexOf('?') == -1)?"?":"&") + Request.QueryString; } if(addDeniedURL){ var WA_Auth_Referrer = Request.ServerVariables("URL"); if (String(Request.QueryString()).length > 0){ WA_Auth_Referrer = WA_Auth_Referrer + "?" + String(Request.QueryString()); } redirectURL = redirectURL + ((String(redirectURL).indexOf("?") >= 0)?"&":"?") + "accessdenied=" + Server.URLEncode(WA_Auth_Referrer); } return redirectURL } // Rules functions function WA_Auth_RulePasses(ruleName){ var ruleObj = new WA_Auth_RuleObject(ruleName, false); return ruleObj.evaluateRules(); } function WA_AuthComparisonObject(allow, value, operator, compareTo){ this.allow = allow; this.value = value||""; this.operator = operator; this.compareTo = compareTo; } function WA_Auth_RuleObject(ruleName, doDebug){ this.ruleName = ruleName||""; this.doDebug = doDebug||false; this.comparisons = WA_Auth_GetComparisonsForRule(ruleName)||[]; this.evaluateRules = WA_Auth_RuleObject_EvaluateRules; this.debugComparison = WA_Auth_RuleObject_Debug; this.debugAllComparisons = WA_Auth_RuleObject_DebugAll; } function WA_Auth_RuleObject_EvaluateRules(){ var rulePasses = false; var compareLen = this.comparisons.length; for(var idx=0;idx comparison.compareTo); break; case 6: compareSucceeds = (comparison.value >= comparison.compareTo); break; case 20: compareSucceeds = WA_Auth_GroupContainsValue(comparison.compareTo, comparison.value); break; } // handle restrict if if((!comparison.allow && compareSucceeds) || (comparison.allow && !compareSucceeds)){ rulePasses = false; break; } else if(compareSucceeds){ rulePasses = true; break; } } return rulePasses; } // Groups functions function WA_Auth_GroupContainsValue(groupName, value){ var group = WA_Auth_GetGroup(groupName); var groupLen = group.length; var valueFound = false; for(var idx = 0;idx")+"
"); } %>