octobercms - 注册权限十月 cms
问题描述
我需要有关注册插件权限的帮助。我的插件是“事件”,模型是“事件”
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 功能名称
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);
}
// ...
如有任何疑问,请发表评论。
推荐阅读
- iphone - 如何通过网状网络共享智能手机的互联网?
- hyperledger-fabric - 如何在 Hyperledger Caliper 中配置 RateController 服务员?
- node.js - 将 godaddy 域分配给 heroku nodejs 应用程序会导致 ERR_TOO_MANY_REDIRECTS
- c# - C#-UWP:如何查找 StorageFolder 中是否存在子文件夹?
- java - 将数据从 csv 文件获取到 sqlplus 表 -> 将此数据从 sqlplus 表获取到 html 表骨架
- java - 如何在 VS Code 中更改 Code Lens“运行”键盘快捷键
- r - 使用 dplyr group_by 来查找每个组的分数 >= 2?
- angular - 循环通过虚拟数组时无法将多个图表加载到页面上
- google-docs - 谷歌文档特定部分的目录?
- java - 需要将多维数组的行打印为列