как установить разрешение с помощью @can @endcan в config.ui, используя php laravel? - PullRequest
0 голосов
/ 07 августа 2020

Я переборщил с системой, используя laravel и SmartAdmin UI в качестве панели администратора. Я реализовал роли и разрешения в своей системе.

, если я использую обычный блейд, например index.blade. php, я могу настроить разрешение с помощью @can, как показано ниже

@can('view_document')
      //////
@endcan

, но поскольку я использую панель администратора и меню с помощью config.ui, я не знаю, как реализовать @can @endcan в моем коде

<?php
//CONFIGURATION for SmartAdmin UI
//ribbon breadcrumbs config
//array("Display Name" => "URL");
$breadcrumbs = array(
    "Home" => APP_URL
);
/*navigation array config
ex:
"dashboard" => array(
    "title" => "Display Title",
    "url" => "http://yoururl.com",
    "url_target" => "_blank",
    "icon" => "fa-home",
    "label_htm" => "<span>Add your custom label/badge html here</span>",
    "sub" => array() //contains array of sub items with the same format as the parent
)
*/
$page_nav = array(
    "dashboard" => array(
        "title" => "Dashboard",
        "url" => "ajax/dashboard.php",
        "icon" => "fa-home"
    ),
    
);
//configuration variables
$page_title = "";
$page_css = array();
$no_main_header = false; //set true for lock.php and login.php
$page_body_prop = array(); //optional properties for <body>
$page_html_prop = array(); //optional properties for <html>
?>

я хочу использовать функцию @can @endcan в меню, поэтому пользователь может получить доступ к меню только в зависимости от своей роли и разрешения.

я пытаюсь добавить @can перед массивом "dashboard" => (но выдает ошибку

1 Ответ

1 голос
/ 07 августа 2020

Если вы используете какие-либо сторонние пакеты для разрешений как spatie / laravel -permissions, вы можете просто использовать их разрешение для этого, если вы используете Laravel Gates, я бы посоветовал вам прочитать эту часть документации . https://laravel.com/docs/7.x/authorization

...