J'ai une application Laravel 4 dans laquelle j'ai configuré un utilisateur. Dans ma liaison de connexion, j'appelle Je pense que cela peut être dû à l'utilisation de code> comme connexion champ au lieu de Dois-je ajouter quelque chose au modèle d'utilisateur pour spécifier le champ Nom d'utilisateur? Voici mon itinéraire de connexion: P> auth :: tentative code> avec l'email et le mot de passe, mais cela revient toujours comme faux. J'ai définitivement le mot de passe correct et le hachage correct dans la base de données comme hash :: check code> retourne vrai. nom d'utilisateur code>, mais je ne peux voir aucun réglage pour cela. Cette question implique que vous pouvez ajouter une option à config / auth.php code > Mais ça n'a pas fonctionné. Cette question dit d'utiliser nom d'utilisateur code> comme clé de tableau, mais puis J'obtiens une erreur SQL car il essaie de sélectionner sur un champ Nom d'utilisateur dans la base de données. P> Route::post('login', function() {
// data from login form
$credentials = array(
'email' => Input::get('email'),
'password' => Input::get('password')
);
$auth = Hash::check(Input::get('password'), Hash::make('mypass'));
var_dump($auth); // this is TRUE
// login was good
$auth = Auth::attempt($credentials);
var_dump($auth); // this is FALSE
});
3 Réponses :
dans l'application / config / app.php Assurez-vous que vous avez la "touche" définie. Cela m'a fait sortir mes cheveux. Tout apparaîtra au travail, le mot de passe semble haché dans la base de données, mais il retournera toujours false jusqu'à ce que vous définissiez cette clé et que vous redistribez votre mot de passe dans la DB. p>
"PHP Artisan Key: générer" p> blockQuote> blockQuote> blockQuote>
Merci beaucoup d'homme. J'utilise le générateur Laravel 4 de Jeffery Way et j'ai totalement oublié ce point critique dans l'installation de Laravel avant de commencer à coder mes itinéraires et contrôleurs.
J'ai trouvé le problème. Comme suggéré par Jason dans le commentaire ci-dessus, j'avais modifié le fichier Le modèles / user.php code> et supprimé certaines fonctions que je n'ai pas réalisées étaient nécessaires. P>
getAuthentifier () code> et getAuthPassword () code> Les méthodes doivent être incluses dans le modèle d'utilisateur pour l'authentification! P>
Qu'ils font. Le modèle doit également implémenter l'userface userface code> et rappelInterface code>.
avait le même problème et m'a fait transpirer pendant des heures. Vérifiez définitivement votre modèle user.php strong> et assurez-vous de ne pas avoir écrasé fort> le par défaut. Merci Jason! P>
La touche Array doit correspondre à une colonne que vous utilisez pour authentifier les utilisateurs de la base de données. Ceci est mentionné dans le Docs . Avez-vous modifié le modèle code> utilisateur code> par défaut que L4 est livré?