BUGFIX Don't lowercase permission codes contained in $allowed_actions in RequestHandler->checkAccessAction(). Permission checks are case sensitive.

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@86085 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Ingo Schommer 2009-09-10 07:02:54 +00:00
parent e9df16ba5a
commit 3f751a2cb8

View File

@ -193,9 +193,11 @@ class RequestHandler extends ViewableData {
} }
if($allowedActions) { if($allowedActions) {
// convert all keys and values to lowercase for easier comparison (only if not set as boolean) // Convert all keys and values to lowercase for easier comparison.
// Exclude values set as booleans, or permission codes (permission checks are case sensitive)
foreach($allowedActions as $key => $value) { foreach($allowedActions as $key => $value) {
$newAllowedActions[strtolower($key)] = (is_bool($value)) ? $value : strtolower($value); if(is_numeric($key) || is_bool($value)) $value = strtolower($value);
$newAllowedActions[strtolower($key)] = $value;
} }
$allowedActions = $newAllowedActions; $allowedActions = $newAllowedActions;