首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >注册权限10月cms

注册权限10月cms
EN

Stack Overflow用户
提问于 2019-02-26 05:34:04
回答 1查看 674关注 0票数 0

我需要帮助注册一个插件的权限。我的插件是“事件”,模型是“事件”。

1如何在权限键中定义特征名。

代码语言:javascript
复制
acme.blog.access_categories //I don't know how to define this feature name

我需要创建一个权限来阻止一些用户在后端的事件插件中创建事件。

我增加了新的许可,但什么也没做。我创建的权限

代码语言:javascript
复制
 public function registerPermissions()
{
    return [
        'cng.tennis.access_events' => ['tab' => 'Events', 'label' => 'Create events']
    ];
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-26 07:24:54

1特征名

代码语言:javascript
复制
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,您可以这样添加,现在您的整个控制器都在该权限范围内

代码语言:javascript
复制
<?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。对于每个用户,您可以按下面的方式添加它们

代码语言:javascript
复制
<?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);
    }

    // ...

如有任何疑问,请评论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54879002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档