2017-01-03 104 views
0

我是laravel框架的初學者。我現在在laravel 5.2中有認證問題。我試過但我找不到錯誤。laravel中的用戶驗證錯誤

電子郵件和密碼正確,但它正在重定向到登錄頁面。

這裏是我的DB

+----+-------+-----------------+----------+-------+----------------+---------------------+---------------------+ 
| id | name | email   | password | phone | remember_token | created_at   | updated_at   | 
+----+-------+-----------------+----------+-------+----------------+---------------------+---------------------+ 
| 1 | Admin | [email protected] | 111111 |  | NULL   | 2017-01-03 05:40:06 | 2017-01-03 05:40:06 | 
+----+-------+-----------------+----------+-------+----------------+---------------------+---------------------+ 

下面是UserController的

<?php 

namespace App\Http\Controllers; 

use Illuminate\Support\Facades\Validator; 

use Illuminate\Support\Facades\Auth; 

use Illuminate\Http\Request; 

use App\Http\Requests; 

use App\User; 

use DB; 


class UserController extends Controller 
{ 
    public function index() 
    { 
     if(!Auth::check()) { 
      return view('user/index'); 
     } else { 
      return view('user/profile'); 
     } 
    } 

    public function login(Request $request) 
    { 
     if(Auth::attempt(array( 

      "email" => "[email protected]", 
      "password" => "111111", 

     ))) { 
      return redirect('user/profile'); 
     } else { 
      return redirect('user/login'); 
     } 
    } 
} 
+1

爲什麼密碼存儲沒有散列? ?在數據庫中存儲'$ 2y $ 10 $ POrpktOrPPwuj4u3P1vQeekle6xPnJTDmNYHqIGHDqTeymnZA4BFC'而不是111111,然後嘗試,我給你的字符串是'111111'的哈希。 –

+0

if語句的哪個部分到達了?同時檢查您的服務器是否啓用了會話,並且已經正確配置了.env文件 – Phorce

+0

Laravel預計您的數據庫密碼被散列。 :/ –

回答

3

在數據庫需要存儲的密碼加密format.Auth ::嘗試()將密碼轉換爲加密的形式與數據庫中的密碼進行比較。

在數據插入到你需要使用

bcrypt($密碼)的數據庫;