Witam forumowiczów.
Mam problem, bardzo proszę o pomoc,
Próbuje w kontrolerze:
public function actionIndex()
{
$model = new User();
if($model->load(Yii::$app->request->post()))
{
if ($model->login()) echo "zalogowano";
else echo "nie zalogowano";
}
return $this->render('form',['model'=>$model]);
}
a w modelu chce zrealizować proces uwierzytelniania (chodzi o proste porównanie czy hasło jest równe ‘haslo’).
<?php
namespace app\models;
use yii\db\ActiveRecord;
use Yii;
class User extends ActiveRecord implements \yii\web\IdentityInterface
{
public static function tableName()
{
return 'logins';
}
public function rules()
{
return [
[['login', 'password'], 'required'],
[['password'], 'validatePassword']
];
}
public function login()
{
if($this->validate())
{
return Yii::$app->user->login($this);
}
else
{
return false;
}
}
public static function findIdentity($id)
{
return static::find()->findOne($id);
}
public function validatePassword($password)
{
return $password === 'haslo';
}
public function getId()
{
return $this->id;
}
public static function findIdentityByAccessToken($token, $type = null)
{
}
public static function findByUsername($username)
{
}
public function getAuthKey()
{
}
public function validateAuthKey($authKey)
{
}
}
Ktoś ma może pomysł co jest nie tak? Dlaczego zawsze dostaje ‘zalogwano’, nawet wtedy kiedy podaje błędne hasło.
Dzięki i pozdrawiam