必要に応じて、直接認証を行うことができます:
$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
}
Laravelによってハッシュされたパスワードは本当に安全であり、たとえばMySQLによってハッシュされたパスワードはその逆であることに注意してください。したがって、ユーザーがログに記録するたびに、ユーザーにパスワードを変換するように依頼することなく、パスワードを変換できます。
$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
}