Как получить доступ к метаданным маршрутам CodeIgnter4 по названию маршрута?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как получить доступ к метаданным маршрутам CodeIgnter4 по названию маршрута?

Сообщение Anonymous »

У меня есть маршруты, и вложенные группы маршрутов. Некоторые маршруты имеют метаданные содержат необходимые разрешения или роли, которые проверяются с переменными сеанса пользователя.service('router')->getMatchedRouteOptions()
< /code>
и проверить с помощью вспомогательной функции, которая бросает исключение 404, если session ()-> get ('user_role') не в разрешенном массиве < /p>
, но проблема в некоторых вложенных представлениях и компонентах, которые имеют список ссылок на эти маршруты, которые также должны быть условны в соответствии с данными перемещениями в маршрутах Metadata. /> Как я могу получить доступ к метаданным по имени маршрута в любой части приложения, используя функцию, такую ​​как: < /p>
isAllowed($route_name)
< /code>
Какой проверки, если маршрут имеет разрешенные метаданные-> Роли, пересекающиеся с разрешениями или ролями пользователя? Разрешения в метаданных, которые будут централизованы, без создания другого решения, которое требует дублирования маршрутов. < /p>
Вот образец маршрутов: < /p>
$routes->group('users', ['as' => 'admin_users'], static function ($routes) {
// Route for the users main page
$routes->get('', 'AdminControllers\ViewController::users_main_page', [
'as' => 'admin_master_page',
'allowed' => [
'role' => ['admin', 'super_admin', 'owner'],
]
]);

// Route for the users search page
$routes->get('search', 'AdminControllers\ViewController::users_search', [
'as' => 'user_search',
'allowed' => [
'role' => ['super_admin', 'owner'],
]
]);
$routes->get('add', 'AdminControllers\ViewController::add_user', [
'as' => 'add_user',
'allowed' => [
'role' => ['super_admin', 'owner'],
]
]);
});


Подробнее здесь: https://stackoverflow.com/questions/795 ... route-name
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»