new object $security_lib: $libraries; var $dmi_data descriptions = #[]; var $root created_on = 864002483; var $root flags = ['variables, 'methods, 'code, 'core]; var $root inited = 1; var $root managed = [$security_lib]; var $root manager = $security_lib; public method .bounce_to_auth() { arg interface, destination; var user; if (!(.check_userdb_with_optional(interface))) return ['redirect, destination]; else return 0; }; public method .check_userdb_with_optional() { arg interface; var user, auth, req; if (!(| (auth = interface.get_info('browser_auth)) |)) return 0; if (!(| (user = $user_db.search((auth[2])[1])) |)) return 0; if (!(user.check_password((auth[2])[2]))) return 0; interface.set_info('run_as, user); return 1; }; public method .check_userdb_with_password() { arg interface; var user, auth, req; if (!(| (auth = interface.get_info('browser_auth)) |)) return ['basic, (interface.get_info('directory_object)).get_realm()]; if (!(| (user = $user_db.search((auth[2])[1])) |)) return [auth[1], (interface.get_info('directory_object)).get_realm()]; if (!(user.check_password((auth[2])[2]))) return [auth[1], (interface.get_info('directory_object)).get_realm()]; interface.set_info('run_as, user); return 0; };