还是验证码的问题,在使用yii2-user的登录时

新手提问 · wblbird · 于 3年前 发布 · 3611 次阅读

验证码正常显示,点击也能更换,dubgger里查session里也看到了数据,post过来的数据有的,然而就是显示所填的验证码不正确,

查了一下确实是$this->validate(),验证的时候不通过,验证码的比较,应该是session里存的和post过来的一样那就对了哇?

然后我该怎么查原因??

yii2学的挺累的,附一下代码


/*   \vendor\dektrium\yii2-user\models\LoginForm.php   */
public $captcha;
public function rules()//作者的rules格式不和yii2标准的写法一样,为嘛?
{
return [
'requiredFields' => [['login', 'password','captcha'], 'required'],
'captchalPattern'=>['captcha', 'captcha'],
'loginTrim' => ['login', 'trim'],
. . . .


/* \vendor\dektrium\yii2-user\controllers\SecurityController.php*/

public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
['allow' => true, 'actions' => ['login', 'auth','captcha'], 'roles' => ['?']],//没这个验证码不显示
['allow' => true, 'actions' => ['login', 'auth', 'logout'], 'roles' => ['@']],
]]];
}

/** @inheritdoc */
public function actions()
{
    return [
         'captcha' => [
                'class' => 'yii\captcha\CaptchaAction',
                             'minLength' => 4,
                             'maxLength' => 4
            ],
.....
    ];
}


/*  \vendor\dektrium\yii2-user\views\security\login.php  */
use yii\captcha\Captcha;
. . . .
<?= $form->field($model, 'captcha')->widget(Captcha::className(), [
'captchaAction' => ['/user/security/captcha']
]) ?>
. . . .

共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册