Kohana 인증 모듈 암호를 해싱하지 않습니다
-
19-09-2019 - |
문제
Kohana 2.3.4를 사용하고 있으며 인증 모듈이 작동하지 않습니다.
나는 다음과 같은 사용자를 추가하고 있습니다.
$user = ORM::factory('user');
$user->username = 'admin';
$this->auth = Auth::instance();
$user->email = 'admin@example.com';
$user->password = 'secret';
$user->add(ORM::factory('role', 'login'));
$user->save();
문제는 사용자 테이블을 살펴보면 비밀번호가 명확하다는 것입니다. auth_user_model이 호출되지 않은 것 같습니다.
내 사용자 모델은 문서에서 나온 것입니다. 즉
// and, in models/user.php
class User_Model extends ORM {
protected $has_and_belongs_to_many = array('roles');
public function unique_key($id = NULL)
{
if ( ! empty($id) AND is_string($id) AND ! ctype_digit($id) )
{
return 'username';
}
return parent::unique_key($id);
}
}
면밀히 검사 할 때 auth_user_model 파일이 호출되지 않습니다. 나는 그것을 손상 시켰고 불만이 없었다.
그래서 나는 바뀌었다
class User_Model extends Auth_User_Model {
그리고 이제는 암호를 해싱하고 있습니다. 이것이 올바른 사용 방법입니까? 이것에 대한 더 많은 의견을 보지 못한 것에 놀랐습니까? 에게
class User_Model extends ORM {
해결책
예, 이것이 ORM 인증 드라이버와 함께 사용자 모델을 사용하는 적절한 방법입니다. 자신의 모델에서 __set ()를 과부하하고 auth_user_model처럼 수행 할 수도 있습니다.
제휴하지 않습니다 StackOverflow