Попробовал, увидел что редирект не работает. Стал разбираться. В итоге оказалось:
1) команда Yii::$app->user->isGuest вызывает метод getIsGuest в vendor\yiisoft\yii2\base\Component.php;
2) getIsGuest вызывает метод getIdentity в vendor\yiisoft\yii2\web\User.php;
3) getIdentity вызывает метод renewAuthStatus в vendor\yiisoft\yii2\web\User.php;
4) renewAuthStatus вызывает метод findIdentity из моей уже модели, которая определена как identityClass:
Код: Выделить всё
class Users extends ActiveRecord implements IdentityInterface {
// status
const STATUS_DISABLED = 0;
const STATUS_ACTIVE = 10;
......................
public static function findIdentity($id) {
return static::findOne(['id' => $id, 'status' => self::STATUS_ACTIVE]);
}
поскольку пользователя с заданным айди и статусом нет (пользователь отключен, status=0), возвращается null и Yii::$app->user->isGuest соответственно возвращает false. Т.е. разлогинивать уже некого, в Yii::$app->user->identity null.
Тупичок... Как же мне теперь разлогинить отключенного пользователя?