регистрация разрешений октябрь cms - PullRequest
0 голосов
/ 26 февраля 2019

Мне нужна помощь с регистрацией разрешений для плагина.Мой плагин 'событие', а модель 'событие'

1 Как определить имя функции в ключе разрешения.

acme.blog.access_categories //I don't know how to define this feature name

2 Мне нужно создать разрешение, чтобы запретить создание некоторых пользователейСобытия в моем плагине событий в бэкэнде.

Я добавил новое разрешение, но он ничего не делает. Разрешение, которое я создал

 public function registerPermissions()
{
    return [
        'cng.tennis.access_events' => ['tab' => 'Events', 'label' => 'Create events']
    ];
}

1 Ответ

0 голосов
/ 26 февраля 2019

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);
    }

    // ...

, если есть сомнения, прокомментируйте.

...