2016-06-20 4 views
1

Я новичок в Laravel.Laravel Auth :: попытка работает, но auth :: user() получение NULL

Теперь я хочу использовать middleware.

Так что, пожалуйста, помогите мне.

Мой код:

$input = Input::except('_token'); 

    if(Auth::attempt($input)){   
     return redirect()->intended('dashboard'); 
    }else{ 
     return Redirect::to(route('login')) 
       ->with('message','Sorry, Wrong Username and password .'); 
    } 

The Auth::attempt работает отлично и его перенаправлении на приборной панели, как и ожидалось.

Но когда я пытаюсь проверить функцию Auth::check от контроллера, он возвращает инструкцию else.

public function dashboard(){  
    if(Auth::check()){ 
     return View::make('dashboard'); 
    }else{ 
     return "Not logged in"; 
    } 
} 

Как исправить проблему?

session.php

'driver' => env('SESSION_DRIVER', 'file'), 
'lifetime' => 120, 
'expire_on_close' => false, 
'encrypt' => false, 
'files' => storage_path('framework/sessions'), 
'connection' => null, 
'table' => 'sessions', 
'lottery' => [2, 100], 
'cookie' => 'laravel_session', 
'path' => '/', 
'domain' => null, 
'secure' => false, 
'http_only' => true, 
+0

ли у Проверьте журнал ошибок ??? –

+1

#Sruthi: Вы попробовали данный код? –

+0

Можете ли вы поделиться с нами конфигурацией сеанса? Кажется, что проблема с настройкой сеанса связана с тем, что пользователь существует, и поэтому Auth :: попытка ($ input) успешно завершена –

ответ

0

Если вы используете субдомен, то измените эту строку ниже (конфиг/сеанс)

'domain' => null, 
to 

'domain' => '.yourdomain.com', 

Кроме того, если вы используете файлы для хранения сеансу

'driver' => env('SESSION_DRIVER', 'file'), 

затем проверьте, есть ли у вас разрешение на запись в хранилище/каркас/сеансы directc тори. вы также можете попробовать изменить сеансы базы данных.

+0

Я дал 777 разрешение на каталог хранения, а моя конфигурация env - SESSION_DRIVER = файл .. его не работает – Sruthi

+0

Вы проверили файл config/session.php ?? –

+0

Не могли бы вы опубликовать свой файл Config/Session.php –

0

использование аутентификации промежуточного слоя на маршруте, для которого вы используете ниже функции контроллера

public function dashboard(){  
    if(Auth::check()){ 
     return View::make('dashboard'); 
    }else{ 
     return "Not logged in"; 
    } 
} 
+0

Да, я уже сделал это – Sruthi

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