I have registration form in my Yii2 advanced application. In my application only admin can register users. But when I register new user, admin session data are destroyed and new user's session data are set. What I am trying is not to change session data when I register new user. Admin user is still should be set to session data. How to solve this problem. This is my action in controller:
public function actionSignup()
{
        $model = new SignupForm();
        if(Yii::$app->user->can('admin'))
        {
            if (($response = self::ajaxValidate($model)) !== false)
                return $response;
            if (self::postValidate($model))
            {                
                try
                {
                    $trans = Yii::$app->db->beginTransaction();
                    if ($user = $model->signup()) {
                        Yii::$app->getUser()->login($user);
                    }                
                    //tagidan tushgan odamining child_left, child_right tini o'zgartirish
                    $under = UserModel::findOne($user->id_parent_under);
                    if ($under->id_child_left == 0)
                        $under->id_child_left = $user->id;
                    else
                        $under->id_child_right = $user->id;
                    $under->update(false);
                    ChildrenBinaryModel::insertNewUser($user);
                    ChildrenClassicModel::insertNewUser($user);
                    $parents = ChildrenBinaryModel::find()->with('user')->where(["id_child" => $user->id])->orderBy(['depth' => SORT_ASC])->all();
                    $c_user = $user;
                    foreach($parents as $p)
                    {
                        $p_user = $p->user;
                        if ($p_user->id_child_left == $c_user->id)
                            $p_user->ball_left += 100;
                        else
                            $p_user->ball_right += 100;
                        $p_user->update(false);
                        $c_user = $p_user;
                    }
                    $trans->commit();
                }
                catch(\Exception $e)
                {
                    $trans->rollBack();
                    return $this->renderContent($e->getMessage());
                }
                return $this->render('index');
            }
            return $this->render('signup', [
                'model' => $model,
            ]);
        }else{
            throw new ForbiddenHttpException;
        }
    }
 
    