Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O sistema de autenticação do Laravel pode usar um banco de dados existente?


Você pode fazer a autenticação diretamente, se precisar:
$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
}

Observe que as senhas com hash do Laravel são realmente seguras e aquelas com hash, digamos, do MySQL, são o oposto. Assim, você pode converter suas senhas toda vez que seu usuário fizer login, sem pedir a ele para fazer isso:
$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
}