Question

J'utilise Kohana et ne peut pas 2.3.4 obtenir le module auth fonctionne.

Je suis juste d'ajouter un utilisateur comme ceci:

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

Le problème est que quand je regarde dans la table des utilisateurs, le mot de passe est en clair. Il semble que le auth_user_model n'est pas appelé.

Mon modèle utilisateur est de la documentation. i.e..

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

}

regardant de plus près le fichier Auth_User_Model n'est pas appelé. Je corrompu et reçu aucune plainte.

Je changé

class User_Model extends Auth_User_Model {

Et maintenant, il est hachant les mots de passe. Est-ce la bonne façon de l'utiliser? Je suis surpris que je ne vois pas d'autres commentaires à ce sujet? Pour

class User_Model extends ORM {
Était-ce utile?

La solution

Oui, c'est la bonne façon d'utiliser votre modèle utilisateur avec le pilote ORM Auth. Vous pouvez également surcharger __set () dans votre propre modèle et de le faire comme le auth_user_model.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top