我需要注册插件权限的帮助。我的插件是“事件”,模型是“事件”
1如何在权限密钥中定义功能名称。
ImageSerializer
2我需要创建一个权限,以防止某些用户在后端的事件插件中创建事件。
我添加了新的权限,但没有执行任何操作。 Permission I created
acme.blog.access_categories //I don't know how to define this feature name
答案 0 :(得分:0)
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);
}
// ...
如有疑问,请发表评论。