2016-11-04 41 views
0

我正在嘗試在yii2中創建用戶註冊頁面。不使用任何擴展名。我正在使用GII來生成模型等。如何在Yii2中註冊敏感數據

我需要把以下問題:

  1. 讓任何人試圖註冊(如將已授權密鑰,令牌,許可)無法訪問某些屬性。

  2. 管理員能夠創建新用戶併爲其分配權限,但其他人嘗試註冊時無法查看或更改permision屬性。

我等着......

預先感謝您

回答

0

你需要看一看被Yii 2.提供基於角色的訪問控制有更多的細節在這裏http://www.yiiframework.com/doc-2.0/guide-security-authorization.html

首先,您需要創建權限和角色。這聽起來像你需要一個用戶角色,然後也是一個管理員角色。這兩個角色將具有不同的權限,您可以根據角色類型限制用戶的操作。

這是創建管理員角色和'addPermission'權限的示例。

$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); 

然後在你允許用戶添加一個許可,您可以檢查他們被允許執行該操作的另一個用戶的控制器。

if (\Yii::$app->user->can('addPermission')) { 
    // add user permission 
} 

我鏈接到的頁面有更詳細的信息,但上面會讓你開始。

+0

謝謝,我會試試看... –

0

謝謝凱利。 除了你所說的,可以在用戶模型中創建多個場景。因此,我們可以禁止任何嘗試使用帖子的權限屬性加載模型。

這只是爲了更安全。