Domanda

Sto usando Kohana 2.3.4 e non può ottenere il modulo di autenticazione al lavoro.

Sono solo l'aggiunta di un utente in questo modo:

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

Il problema è che quando guardo nella tabella degli utenti, la password è in chiaro. Sembra che l'auth_user_model non viene chiamata.

Il mio modello utente è dalla documentazione. cioè.

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

}

A ben vedere l'Auth_User_Model file non viene chiamato. Ho corrotto e ottenuto lamentele.

Così ho cambiato

class User_Model extends Auth_User_Model {

E ora è l'hashing delle password. E 'questo il modo corretto di usarlo? Sono sorpreso che non sto vedendo più commenti su questo? Per

class User_Model extends ORM {
È stato utile?

Soluzione

Sì, questo è il modo corretto di utilizzare il modello utente con il driver ORM Auth. Si potrebbe anche sovraccaricare __set () nel proprio modello e farlo come l'auth_user_model.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top