From 631b7ba502734e0ca4f74168932af79cb336eb09 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Thu, 11 Jun 2015 11:24:05 +1200 Subject: [PATCH] Fix environment check basic auth tests Was assuming that Member::currentMember() is set, which isn't the case unless you log in beforehand and start a PHP session. Given we want the checks to run on their own without user interaction, they need to work in isolation through a single HTTP call containing the basic auth info. --- code/EnvironmentChecker.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/EnvironmentChecker.php b/code/EnvironmentChecker.php index b0051dc..fc2145c 100644 --- a/code/EnvironmentChecker.php +++ b/code/EnvironmentChecker.php @@ -60,7 +60,13 @@ class EnvironmentChecker extends RequestHandler { } function canAccess($member = null, $permission = "ADMIN") { - if(!$member) $member = Member::currentUser(); + if(!$member) { + $member = Member::currentUser(); + } + + if(!$member) { + $member = BasicAuth::requireLogin('Environment Checker', $permission, false); + } // We allow access to this controller regardless of live-status or ADMIN permission only // if on CLI. Access to this controller is always allowed in "dev-mode", or of the user is ADMIN.