Mysql
 sql >> Base de données >  >> RDS >> Mysql

Le système d'authentification Laravel peut-il utiliser une base de données existante ?

Vous pouvez faire l'authentification directement, si vous avez besoin :

$user = User::where('email', Input::get('email'))->first();

if( $user && $user->password == md5(Input::get('password')) )
{
    Auth::login($user); /// will log the user in for you

    return Redirect::intended('dashboard');
}
else
{
   /// User not found or wrong password
}

Notez que les mots de passe hachés par Laravel sont vraiment sécurisés et ceux hachés par, disons, MySQL, sont à l'opposé. Ainsi, vous pouvez convertir vos mots de passe à chaque fois que votre utilisateur se connecte, sans lui demander de le faire :

$password = Input::get('password');

$email = Input::get('email');

if (Auth::attempt(array('email' => $email, 'password' => $password)))
{
    return Redirect::intended('dashboard');
}
else
if( $user && $user->password == md5($password) )
{
    Auth::user()->password = Hash::make($password);

    Auth::user()->save();

    return Redirect::intended('dashboard');
}
else
{
    /// User not found or wrong password
}