Project

General

Profile

Actions

Feature #89983

closed

Allow comma separated list of roles in f:security.ifHasRole

Added by Dieter Porth almost 5 years ago. Updated 5 months ago.

Status:
Rejected
Priority:
Should have
Assignee:
-
Category:
-
Start date:
2019-12-18
Due date:
% Done:

0%

Estimated time:
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

Instead of


 protected static function evaluateCondition($arguments = null)
    {
        $role = $arguments['role'];
        /** @var UserAspect $userAspect */
        $userAspect = GeneralUtility::makeInstance(Context::class)->getAspect('frontend.user');
        if (!$userAspect->isLoggedIn()) {
            return false;
        }
        if (is_numeric($role)) {
            $groupIds = $userAspect->getGroupIds();
            return in_array((int)$role, $groupIds, true);
        }
        return in_array($role, $userAspect->getGroupNames(), true);
    }

use
// Code ist not tested.
 protected static function evaluateCondition($arguments = null)
    {
        $role = $arguments['role'];
        /** @var UserAspect $userAspect */
        $userAspect = GeneralUtility::makeInstance(Context::class)->getAspect('frontend.user');
        if (!$userAspect->isLoggedIn()) {
            return false;
        }
        if (is_numeric($role)) {
            $groupIds = $userAspect->getGroupIds();
            $roles = array_filter( array_map('intval',explode(',',$role)));
            return ((array_sect(($roles, $groupIds) >0);
        }
        $roles = array_filter( array_map('trim',explode(',',$role)));
        return (array_sect($roles, $userAspect->getGroupNames())>0);
    }


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Feature #95175: security.ifByRoles-Viewhelper, which allows to check different groups and allowes mixed use of usergruop-IDs and -names Rejected2021-09-10

Actions
Actions

Also available in: Atom PDF