Kohanaの認証モジュールのパスワードをハッシュありません

StackOverflow https://stackoverflow.com/questions/2224893

  •  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ようにそれを行うことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top