2015-07-18 4 views
3

Я пытаюсь добавить сообщение об успешном сеансе при входе пользователя в систему.Laravel 5.1 Вход в систему Сообщение сеанса

Я попытался добавить следующее к AuthenticatesUsers.php признака postLogin():

if (Auth::attempt($credentials, $request->has('remember'))) { 
    return $this->handleUserWasAuthenticated($request, $throttles)->withSuccess("message"); 
} 

Я также попытался добавить к handleUserWasAuthenticated():

return redirect()->intended($this->redirectPath())->withSuccess("message"); 

Я бегу композитор dump-autoload после каждого изменения, но он просто не будет мигать сообщением в представлении. Я использую частично под названием success.blade.php и содержимое:

@if (Session::has('success')) 
    <div class="alert alert-success"> 
     <button type="button" class="close" data-dismiss="alert">&times;</button> 
     <strong> 
      <i class="fa fa-check-circle fa-lg fa-fw"></i> Success. &nbsp; 
     </strong> 
     {{ Session::get('success') }} 
    </div> 
@endif 

Я думаю, что я что-то отсутствует, но я не могу думать, что на данный момент так в надежде на новый набор глаз.

Заранее спасибо.

+1

Вы пытались отладить его, прежде чем он получит частичный вид? где-то в главном представлении, перед тем, как включить subview, сделайте что-то вроде '{{dd (session ('success'))}}', чтобы проверить, существует ли он там –

+0

Спасибо @AndrewMalinnkov за вашу помощь. Хотя я и не нуждался, я не думал об этом и буду помнить в будущем. – Flyingearl

ответ

3

Не использовать ->withSuccess().

Используйте ->with('success', 'Success message'), как описано в http://laravel.com/docs/5.1/responses#redirecting-with-flashed-session-data, или используйте диспетчер сеансов. Чтобы получить доступ к менеджеру сессии, вы можете использовать Request объект:

$request->session()->flash('success', 'Success message'); 

См http://laravel.com/docs/5.1/session#flash-data. Вы также можете получить доступ к менеджеру сеанса, используя фасад Session:

Session::flash('success', 'Success message'); 
+0

Спасибо. Я уверен, что попробовал, но по какой-то причине он вчера не работал. Единственное, что является session() -> flash(); не работает с перенаправлением(). – Flyingearl

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