2016-09-30 2 views
9

Ich habe ein bestehendes Yii2-Basissystem, das von einer Oracle DB ausgeführt wird und RBAC über Yii2Admin integriert hat. Es funktioniert großartig.RBAC innerhalb der Module

Ich brauche jetzt eine andere DB (MS-SQL Server 2008) zusätzlich zu verwenden.

Also habe ich ein neues Modul eingerichtet, das einen zweiten Yii :: $ app-> db2 Link verwendet und alles, was gut funktioniert.

Meine Frage ist, für Benutzer meiner zweiten MS-SQL Server 2008 DB, ist es möglich, Logins + RBAC in diesem Modul, das mit der MS-SQL Server 2008 DB statt der bestehenden Oracle DB verknüpft ist.

Oder müsste ich Oracle verwenden?

Antwort

0

Ja ich denke, es ist möglich, Sie können

In der RBAC DB Manager einen separaten RBAC Manager für Ihre MSSQL Server außer Kraft setzen und erstellen Sie Eigenschaft db

in Ihrer Konfigurationsdatei:

return [ 
     // ... 
     'components' => [ 
     'authManager2' => [ // <!-- Auth Manager 2 
      'class' => 'yii\rbac\DbManager', 
      'db' => 'db2' // <-- Here is the magic change db instance 
     ], 
     // ... 
], 

Und dann können Sie build your authorization Daten mit Yii::$app->authManager2 Objekt

Hoffe das wird dir helfen.

-1

Versuchen Sie die folgende Konfiguration. Faust gesetzt MS-SQL Server 2008-Verbindung als DB1 Name Beispiel:

'db1' => [ 
     'class' => '\yii\db\Connection', 
     'dsn' => 'Your MS-SQL Server 2008 DNS', 
     'username' => 'root', 
     'password' => '', 
     'charset' => 'utf8', 
    ], 

und Überbrückungsfunktion getDb() in Activerecord-Modell für db1 Wert. Das wird Abfrage von Daten aus MS-SQL Server 2008

Dokument: http://www.yiiframework.com/doc-2.0/yii-db-activerecord.html#getDb()-detail

Hinweis: Sie müssen durch verlängern Klasse oder etwas für die Arbeit individuelle Yii2Admin.

+0

Ich habe bereits beide DB-Verbindungen funktioniert gut.Hinweis: Sie müssen benutzerdefinierte Yii2Admin von erweitern Klasse oder etwas für die Arbeit.ist nicht wirklich eine Antwort auf meine Frage – Jonnny

+0

Sind Sie custome yii2admin Modul? Sie net custome Funktion getDb für alle Modulmodelle – dungphanxuan

Verwandte Themen