我正在用Laravel框架在PHP中開發管理面板。一些前端已經制作完成。這就是說,數據庫和用戶表已經被創建並且具有內容。有什麼方法可以使用我的現有數據庫和Laravel Auth類的表?Laravel認證系統可以使用現有的數據庫嗎?
我的數據庫有它自己的密碼加密方式 - Laravel可以適應嗎?
我正在用Laravel框架在PHP中開發管理面板。一些前端已經制作完成。這就是說,數據庫和用戶表已經被創建並且具有內容。有什麼方法可以使用我的現有數據庫和Laravel Auth類的表?Laravel認證系統可以使用現有的數據庫嗎?
我的數據庫有它自己的密碼加密方式 - Laravel可以適應嗎?
你可以做直接權威性,如果你需要:
$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
}
繼安東尼奧·卡洛斯·裏貝羅的意見,這裏是我如何管理它Laravel 5.2:
Http/Controllers/Auth/AuthController.php
,複製並粘貼vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticateUsers.php
的login()
方法在文件的頂部添加這些:
use Illuminate\Support\Facades\Auth as fAuth;
use Hash;
替換此:
if (Auth::guard($this->getGuard())->attempt($credentials, $request->has('remember'))) {
return $this->handleUserWasAuthenticated($request, $throttles);
}
通過這樣的:
if (fAuth::guard($this->getGuard())->attempt($credentials, $request->has('remember'))) {
return $this->handleUserWasAuthenticated($request, $throttles);
} else {
$user = User::where('email', $request->email)->first();
if ($user && $user->password == md5($request->password)) {
$user->password = Hash::make($request->password);
$user->save();
if (fAuth::guard($this->getGuard())->attempt($credentials, $request->has('remember'))) {
return $this->handleUserWasAuthenticated($request, $throttles);
}
}
}
這需要我創造我自己的用戶模式,對不對? – Hedam
你還沒有?您不一定需要用戶模型,您需要一個模型來檢查用戶名和密碼,如果您將其稱爲Customer或Editor,則不會有任何區別。 –