mam dość zdaje się proste pytanie, na które nie znalazłem odpowiedzi. Otóż przy każdym żądaniu, skrypt odpytuje bazę (dokładnie 4 zapytania), o dane zalogowanego użytkownika, którymi wypełnia /model/User zamiast pobrać je z sesji :| Czy istnieje możliwość obejścia tych zbędnych zapytań (wiem, że podczas logowania mogę zapisać całe identity do sesji, i później pobrać je w findIdentity(), ale czy istniej do tego jakiś automat)?
Tak wyglądają pliki
config/web.php
'user' => [ 'identityClass' => 'app\models\User', 'enableAutoLogin' => false, 'loginUrl' => ['authentication/login'], ],
models/User.php
class User extends ActiveRecord implements IdentityInterface { //.... /** * @inheritdoc */ { }
controllers/ExampleController.php
return [ 'access' => [ 'class' => AccessControl::className(), 'only' => ['index', 'view'], 'rules' => [ [ 'allow' => true, 'actions' => ['index'], 'roles' => ['?'], // sprawdza Identity, odpalając metodę User::findIdentity(), a ta odpytuje bazę danych ], [ 'allow' => true, 'actions' => ['view'], 'roles' => ['@'], // sprawdza Identity, odpalając metodę User::findIdentity(), a ta odpytuje bazę danych ], ], ], ];