2016-11-04 1 views
0

Ich versuche, eine Benutzerregistrierungsseite in yii2 zu erstellen. Ohne Verwendung einer Erweiterung. Ich benutze GII um Modelle zu generieren und so weiter.So behandeln Sie vertrauliche Daten bei der Registrierung in Yii2

Ich brauche die folgenden Probleme zu behandeln:

  1. Machen Sie einige Attribute nicht für jedermann zugänglich versuchen (wie die Auth-Schlüssel, Token, Genehmigung) zu registrieren.

  2. Ein Administrator kann einen neuen Benutzer erstellen und ihm eine Berechtigung zuweisen. Andere Benutzer, die sich registrieren möchten, können das Permission-Attribut jedoch nicht sehen oder ändern.

I am waiting ...

DANKE IM VORAUS

Antwort

0

Sie benötigen einen Blick auf die Role Based Access Control von Yü bereitgestellt nehmen 2. Es gibt mehr Details hier http://www.yiiframework.com/doc-2.0/guide-security-authorization.html

Zuerst müssen Sie die Berechtigungen und Rollen erstellen. Es klingt wie Sie eine Benutzerrolle und dann auch eine Administratorrolle benötigen. Diese beiden Rollen haben unterschiedliche Berechtigungen und Sie können die Aktionen eines Benutzers basierend auf seinem Rollentyp einschränken.

Dies ist ein Beispiel für das Erstellen einer Administratorrolle und die Berechtigung "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); 

dann in der Steuerung, wo Sie einem Benutzer erlauben, eine Genehmigung für einen anderen Benutzer hinzuzufügen, können Sie überprüfen, ob sie berechtigt sind, diese Aktion durchzuführen.

Die Seite, mit der ich verlinkt habe, enthält sehr viel detailliertere Informationen, aber das oben genannte wird Ihnen den Anfang machen.

+0

Danke, ich werde es versuchen ... –

0

Danke Kelly. Neben dem, was Sie gesagt haben, ist es möglich, mehrere Szenarien im Benutzermodell zu erstellen. Daher können wir jeden Versuch, das Modell mit dem Berechtigungsattribut aus einem Post zu laden, verbieten.

Es ist nur für mehr Sicherheit.

Verwandte Themen