2016-08-20 4 views
1

zugewiesen bekommen Ich suche dies für 2 Tage, aber immer noch keine Antwort gefunden. Ich weiß, es ist möglich, Sitzung über mehrere yii-Anwendung zu teilen. Aber hier in meinem Fall. Ich habe 2 Web-Apps. Einer ist schlau und andere sind eine Anwendung. Jetzt möchte ich die Sitzung in yii Controller einstellen und möchte diese Sitzung in meiner Smarty Webapp bekommen. Ist das möglich? WENN nein, was ist die beste und sicherste Methode, um Werte von einer Webanwendung auf eine andere auf einem Server zu übertragen.Ist es möglich, Sitzung für Smarty-Anwendung in Yii-Anwendung auf demselben Server

Meine Web-Apps Verzeichnisstruktur ist

http://localhost/yii/index.php 
http://localhost/smarty/index.php 

Antwort

0

Sie Sitzungen in Ihrer Datenbank speichern kann - nur db Sitzungseinstellungen in Ihrer Konfigurationsdatei setzen und die richtige Datenbanktabelle erstellen. Es ist here beschrieben, aber Sie müssen Sitzungstabelle ändern und Ihre eigene CustomDbSession-Klasse verwenden.

return [ 
    'components' => [ 
     'session' => [ 
      'class' => 'yii\web\DbSession', 
      // 'db' => 'mydb', // the application component ID of the DB connection. Defaults to 'db'. 
      // 'sessionTable' => 'my_session', // session table name. Defaults to 'session'. 
     ], 
    ], 
]; 

Fügen Sie dem Sitzungstabellenschema das Feld 'user_id' integer hinzu.

CREATE TABLE session 
(
    id CHAR(40) NOT NULL PRIMARY KEY, 
    expire INTEGER, 
    data BLOB, 
    user_id INTEGER 
) 

More Detail

+0

Danke @shahzad. Ich hatte das selbe aber hier Problem mit dieser Methode ich muss die Daten von der Datenbank holen und was ich wollte, ist Benutzer Login auf beiden Web-Anwendungen mit yii App Login-Formular .. Ich bin Sitzung Sitzung für Smarty-App in yii Login-Controller und Weiterleiten an das Dashboard. Jetzt möchte ich, dass wenn Benutzer auf Smarty Web App Dashboard gehen, dann sollte er bereits eingeloggt haben. – Sama

Verwandte Themen