我是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使用用戶數據庫登錄]的可能的重複(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