// Datasource to verify against variables.dsn = ""; // String, required // Datasource username variables.dsn_username = ""; // String, required, zero length allowed // Datasource password variables.dsn_password = ""; // String, required, zero length allowed // Table with usernames variables.dsn_usertable = ""; // String, required // Column with usernames variables.dsn_usercolumn = ""; // String, required // Column with passwords variables.dsn_passcolumn = ""; // String, required // Use hashed password? variables.hashPassword = ; // Boolean, required //Visible name for application variables.realmname = "Login application"; // String, required, alphanumeric & space allowed if (IsDefined("session.user")) { request.user = Duplicate(session.user); variables.showloginform = FALSE; } SELECT * FROM #variables.dsn_usertable# WHERE #variables.dsn_usertable#.#variables.dsn_usercolumn# = AND #variables.dsn_usertable#.#variables.dsn_passcolumn# = variables.user = StructNew(); for (i = 1 ; i LTE ListLen(qUser.ColumnList) ; i = i + 1) "variables.user.#ListGetAt(qUser.ColumnList,i)#" = Evaluate("qUser." & ListGetAt(qUser.ColumnList,i)); session.user = Duplicate(variables.user);