Permission/PermissionManager.php
private function loadPermissions(array $sids)
    {
        $roles = IdentityUtils::filterRolesIdentities($sids);
        $id = implode('|', $roles);

        if (!\array_key_exists($id, $this->cache)) {
            $this->cache[$id] = [];
            $preEvent = new PreLoadPermissionsEvent($sids, $roles);
            $this->dispatcher->dispatch(PermissionEvents::PRE_LOAD, $preEvent);
            $perms = $this->provider->getPermissions($roles);

            $this->buildSystemPermissions($id);

            foreach ($perms as $perm) {
                $class = PermissionUtils::getMapAction($perm->getClass());
                $field = PermissionUtils::getMapAction($perm->getField());
                $this->cache[$id][$class][$field][$perm->getOperation()] = true;
            }

            $postEvent = new PostLoadPermissionsEvent($sids, $roles, $this->cache[$id]);
            $this->dispatcher->dispatch(PermissionEvents::POST_LOAD, $postEvent);
            $this->cache[$id] = $postEvent->getPermissionMap();
        }

        return $id;
    }
private function loadPermissions(array $sids)
    {
        $roles = IdentityUtils::filterRolesIdentities($sids);
        $id = implode('|', $roles);

        if (!\array_key_exists($id, $this->cache)) {
            $this->cache[$id] = [];
            $preEvent = new PreLoadPermissionsEvent($sids, $roles);
            $this->dispatcher->dispatch(PermissionEvents::PRE_LOAD, $preEvent);
            $perms = $this->provider->getPermissions($roles);

            $this->buildSystemPermissions($id);

            foreach ($perms as $perm) {
                $class = PermissionUtils::getMapAction($perm->getClass());
                $field = PermissionUtils::getMapAction($perm->getField());
                $this->cache[$id][$class][$field][$perm->getOperation()] = true;
            }

            $postEvent = new PostLoadPermissionsEvent($sids, $roles, $this->cache[$id]);
            $this->dispatcher->dispatch(PermissionEvents::POST_LOAD, $postEvent);
            $this->cache[$id] = $postEvent->getPermissionMap();
        }

        return $id;
    }
private function loadPermissions ( array $ sids ) { $ roles = IdentityUtils :: filterRolesIdentities ( $ sids ) ; $ id = implode ( '|' , $ roles ) ; if ( ! \ array_key_exists ( $ id , $ this -> cache ) ) { $ this -> cache [ $ id ] = [ ] ; $ preEvent = new PreLoadPermissionsEvent ( $ sids , $ roles ) ; $ this -> dispatcher -> dispatch ( PermissionEvents :: PRE_LOAD , $ preEvent ) ; $ perms = $ this -> provider -> getPermissions ( $ roles ) ; $ this -> buildSystemPermissions ( $ id ) ; foreach ( $ perms as $ perm ) { $ class = PermissionUtils :: getMapAction ( $ perm -> getClass ( ) ) ; $ field = PermissionUtils :: getMapAction ( $ perm -> getField ( ) ) ; $ this -> cache [ $ id ] [ $ class ] [ $ field ] [ $ perm -> getOperation ( ) ] = true ; } $ postEvent = new PostLoadPermissionsEvent ( $ sids , $ roles , $ this -> cache [ $ id ] ) ; $ this -> dispatcher -> dispatch ( PermissionEvents :: POST_LOAD , $ postEvent ) ; $ this -> cache [ $ id ] = $ postEvent -> getPermissionMap ( ) ; } return $ id ; }
Load the permissions of roles and returns the id of cache.

@param SecurityIdentityInterface[] $sids The security identities

@return string
Load the permissions of roles and returns the id of cache .