Я новичок в yii2, прямо сейчас я работаю с пользовательским логином, я сделал весь код для входа в систему, но когда я иду на домашней странице с помощью действия индекса, я не получил никакой сессии там, здесь мой кодYii2 пользовательский логин не работает
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,
]);
}
Даже после того, как войти в это до сих пор считают меня как пользователь guaest, Yii::$app->user->isGuest
какие изменения мне нужно делать?
Возможный дубликат [Yii Framework 2.0 Login with User Database] (http://stackoverflow.com/questions/25790543/yii-framework-2-0-login-with-user-database) – topher
Несколько вещей. 1) [Не используйте MD5 для паролей] (http://security.stackexchange.com/a/52463/52211). 2) Ваш код уязвим для SQL-инъекций, так как вы передаете пользовательский ввод непосредственно в свое состояние. 3) http://stackoverflow.com/a/25828984/428543 – topher