sql >> Databasteknik >  >> RDS >> Mysql

Kan Laravels autentiseringssystem använda en befintlig databas?

Du kan göra autentisering direkt om du behöver:

$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
}

Observera att lösenord som hashas av Laravel är riktigt säkra och de som hashas av, låt oss säga, MySQL, är motsatsen. Så du kan konvertera dina lösenord varje gång din användare loggar, utan att be honom göra det:

$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
}


  1. Vad är nytt i MariaDB Server 10.5?

  2. Undantag för DBConcurrency uppstod vid uppdatering med dataadapter

  3. SQL Server Subquery returnerade mer än 1 värde. Detta är inte tillåtet när underfrågan följer =, !=, <, <=,>,>=

  4. SQL-prestanda UNION vs OR