首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在yii2 2中限制删除特定用户-用户

在yii2 2中限制删除特定用户-用户
EN

Stack Overflow用户
提问于 2015-01-22 17:29:59
回答 1查看 1.2K关注 0票数 0

我正在使用yii2-adminyii2-user。我创建了一个角色Creator,它可以访问所有内容。还有一个名为Admin的角色,它的访问权限有限。但有权删除用户。现在,我想限制Admin删除Creator。我知道这可以通过重写AdminController of yii2-userAdminController函数来实现。但我无法理解限制Admin或任何其他用户删除Creator的逻辑。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-22 22:49:08

看看这里:http://www.yiiframework.com/doc-2.0/guide-security-authorization.html#access-control-filter,您需要做的唯一的事情就是将对delete函数的访问限制在具有Creator角色的人身上。所有其他人都不能删除任何东西。

您的函数应该看起来像

代码语言:javascript
复制
    public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'rules' => [
........
                    [
                        'actions' => ['save', 'update', 'status', 'activate-all', 'deactivate-all'], // Define specific actions
                        'allow' => true, // Has access
                        'roles' => ['Admin', 'Creator'],
                    ],
                    [
                        'actions' => ['delete', 'delete-all'], // Define specific actions
                        'allow' => true, // Has access
                        'roles' => ['Creator'],
                    ],
                    [
                        'allow' => false, // Do not have access
                        'roles' => ['?'], // Guests '?'
                    ],
                ],
            ],
        ];
    }

这只是一个例子,修改它以适应您自己的需要。您可能也不应该允许管理员编辑创建者,因为更改密码与删除几乎是一回事。

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

https://stackoverflow.com/questions/28095051

复制
相关文章

相似问题

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