登录时遇到问题。
我的Model_User:
class Model_User extends Model_Auth_User
{
public function login_user($data)
{
if(isset($data['loginSubmit'])
{
$auth = Auth::instance()->login($data['loginUsername'], $data['loginPassword']);
return $auth;
}
}
public function rules()
{
return array(
'username' => array(
array('not_empty'),
array('min_length', array(':value', 3)),
array('max_length', array(':value', 32)),
array(array($this, 'unique'), array('username', ':value')),
),
'password' => array(
array('not_empty'),
array('min_length', array(':value', 8)),
array('max_length', array(':value', 32)), //here is a bug
),
'email' => array(
array('not_empty'),
array('min_length', array(':value', 4)),
array('max_length', array(':value', 128)),
array('email'),
array(array($this, 'unique'), array('email', ':value')),
),
);
}
}
在数据库中,密码有64个符号(哈希)。验证是积极的,但是错了。我知道,这是由密码长度的差异造成的 - 原始密码有最多32个标志,但是在散列后密码有最多64个标志。当我打电话时
Auth::instance()->login($data['loginUsername'], $data['loginPassword']);
第二次调用验证规则,但在散列之后,会导致错误。我怎么解决它?