1 Имя элемента
public function registerPermissions()
{
return [
'cng.tennis.access_events' => ['tab' => 'Events', 'label' => 'Create events'],
'cng.tennis.create_events' => [ ... ],
'cng.tennis.list_events' => [ ... ],
'cng.tennis.delete_events' => [ ... ],
];
}
Я полагаю, вы уже добавляете его 'label' => 'Create events'
Вы можете определить несколько разрешений, чтобы назначить каждому собственное имя.
А для ключа вы можете использовать как
2, как использовать разрешение
Ограничить whole event controller
вы можете добавить вот так, теперь весь ваш контроллер находится под этим разрешением
<?php namespace Cng\Events\Controllers;
use Backend\Classes\BackendController;
class Events extends BackendController
{
public $requiredPermissions = ['cng.tennis.access_events'];
}
Чтобы ограничить some specific features
предположим create event
, вам нужно добавить ограничения manually
.для каждого вы можете добавить их, как показано ниже
<?php namespace Cng\Events\Controllers;
use Backend\Classes\BackendController;
class Events extends BackendController
{
// other code ...
public function create($context = null) {
// checking permission manually
if (!$this->user->hasPermission(['cng.tennis.access_events'])) {
// if user do not have permission show access restricted
return \Response::make(\View::make('backend::access_denied'), 403);
}
$this->asExtension('FormController')->create($context);
}
// ...
, если есть сомнения, прокомментируйте.