Перейти к основному содержимому

Добавление собственных разрешений

Добавление разрешения в базу данных

Выберите пользовательское уникальное имя и добавьте его в таблицу users_permission_definitions в вашей базе данных. Теперь вы должны иметь возможность выбрать разрешение на вкладках «Пользователи/Роли»: CustompermissionPimcore

Проверка разрешений

Внутри контроллера административной панели (AdminController)

namespace App\Controller;  

use Pimcore\Controller\UserAwareController;
use Pimcore\Controller\Traits\JsonHelperTrait;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class AdminController extends UserAwareController
{
use JsonHelperTrait;
/**
* @Route("/admin/my-admin-action")
*/
public function myAdminAction(Request $request): Response
{
$pimcoreUser = $this->getPimcoreUser();

if ($pimcoreUser?->isAllowed('my_permission')) {
// ...
}

return $this->jsonResponse(['success' => true]);
}
}

Во фронтенде (в расширениях/бандлах для админ-панели)

document.addEventListener(pimcore.events.pimcoreReady, (e) => {  
if(pimcore.currentuser.permissions.indexOf("my_permission") >= 0) {
//...
}
});


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.