/ / Yii2 niestandardowe logowanie nie działa - php, yii2, yii2-advanced-app

Niestandardowe logowanie Yii2 nie działa - php, yii2, yii2-advanced-app

Jestem nowy w Yii2, teraz pracuję z niestandardowym loginem, zrobiłem cały kod do logowania, ale kiedy wchodzę na stronę główną poprzez akcję indeksu, nie dostałem tam żadnej sesji, Oto mój kod

public function actionIndex()
{
$session = Yii::$app->session;
if ($session->isActive) {
echo "sdsd"; die;
}
return $this->render("index");
}

public function actionLogin()
{
if (!Yii::$app->user->isGuest) {
return $this->goHome();
}
$model = new User();
//if ($model->load(Yii::$app->request->post()) && $model->login()) {
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$userName = $_POST["User"]["UserName"];
$password = $_POST["User"]["Password"];
$condition = "UserName = "".$userName."" AND Password = "".md5($password)."" AND Status = "1" AND UserType = "1" ";
$loginData = User::find()->where($condition)->all();
if(count($loginData)>0) {
$username = $loginData[0]->UserName;
$userID = $loginData[0]->UserID;
$session = Yii::$app->session;
$session->set("userName",$username);
$session->set("userID",$userID);
$this->redirect("index");
} else {
Yii::$app->session->setFlash("error", "Username or password is incorrect");
}
}
return $this->render("login", [
"model" => $model,
]);
}

Nawet po zalogowaniu nadal uważam mnie za najgoręszego użytkownika, Yii::$app->user->isGuest jakie zmiany muszę teraz zrobić?

Odpowiedzi:

1 dla odpowiedzi № 1

Nie logujesz się do użytkownika w aplikacji Yii

Nie musisz ustawić sesji, musisz przypisać odpowiednią wartość do tej funkcji

return Yii::$app->getUser()->login($yourUser, $yourRememberMe ? $this->module->rememberFor : 0);

Zobacz dokument dla użytkownika i to dla Zaloguj Się