2017-01-03 4 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

Почему пароль хранится без хеша? ? store '$ 2y $ 10 $ POrpktOrPPwuj4u3P1vQeekle6xPnJTDmNYHqIGHDqTeymnZA4BFC' вместо 111111 в базе данных. Затем попробуйте, строка, которую я вам дал, это Хэш 111111. –

+0

Какая часть выражения if достигает? Также проверьте, что на вашем сервере включены сеансы и что вы правильно настроили файл .env. – Phorce

+0

Laravel ожидает, что ваш пароль в базе данных будет хэширован. :/ –

ответ

3

В базе данных вам нужно хранить пароль в зашифрованном format.Auth :: попытка() преобразует в зашифрованном виде пароля и сравните с паролем в базе данных.

Во время ввода данных в базу данных, необходимо использовать

Bcrypt ($ пароль);

Смежные вопросы