Frage

Ich verwende 2.3.4 Kohana und kann das Auth-Modul nicht zur Arbeit bekommen.

Ich bin nur einen Benutzer wie folgt ergänzt:

$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();

Das Problem ist, dass, wenn ich die Benutzer-Tabelle schauen, das Passwort im Klartext ist. Es scheint, wie die auth_user_model nicht aufgerufen werden.

Mein Benutzermodell ist aus der Dokumentation. d.

// 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);
    }

}

Bei näherer Betrachtung der Datei Auth_User_Model wird nicht aufgerufen werden. Ich kann es beschädigt und bekam keine Beschwerden.

Also habe ich geändert

class User_Model extends Auth_User_Model {

Und jetzt ist es die Passwörter Hashing. Ist dies der richtige Weg, es zu benutzen? Ich bin überrascht, ich bin nicht mehr Kommentare darüber zu sehen? Um

class User_Model extends ORM {
War es hilfreich?

Lösung

Ja, das ist der richtige Weg, Ihr Benutzermodell mit dem ORM Auth-Treiber zu verwenden. Sie könnten auch __set () in Ihrem eigenen Modell überlasten und tun es wie die auth_user_model.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top