首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Yii2中注册时处理敏感数据

问如何在Yii2中注册时处理敏感数据
EN

Stack Overflow用户
提问于 2016-11-04 10:24:40
回答 2查看 59关注 0票数 0

我试图在yii2中创建一个用户注册页面。不用任何分机。我正在使用GII生成模型,等等。

我需要处理以下问题:

  1. 使试图注册的人不能访问某些属性(作为auth键、令牌、权限)。
  2. 管理员能够创建新用户并为其分配权限,但其他试图注册的用户则无法查看或更改permision属性。

我在等..。

先谢谢你

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-04 16:35:35

您需要查看Yii 2提供的基于角色的访问控制。

首先,您需要创建权限和角色。听起来你需要一个用户角色,然后也需要一个管理角色。这两个角色将具有不同的权限,您可以根据其角色类型限制用户的操作。

这是一个创建管理角色和“addPermission”权限的示例。

代码语言:javascript
复制
$auth = Yii::$app->authManager;

$permission = $auth->createPermission('addPermissions')
$permission->description = 'Add User Permissions';
$auth->add($permission);

$admin = $auth->createRole('admin');
$auth->add($admin);
$auth->addChild($admin, $permission);

然后,在允许用户为另一个用户添加权限的控制器中,您可以检查是否允许他们执行该操作。

代码语言:javascript
复制
if (\Yii::$app->user->can('addPermission')) {
    // add user permission
}

我链接到的页面有更详细的信息,但是上面的内容会让您开始。

票数 0
EN

Stack Overflow用户

发布于 2016-11-09 10:02:04

谢谢你凯莉。除了您所说的,还可以在用户模型中创建多个场景。因此,我们可以禁止从post中加载带有权限属性的模型的任何尝试。

这只是为了更多的安全。

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

https://stackoverflow.com/questions/40420271

复制
相关文章

相似问题

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