У меня есть индексный маршрут «/», который загружает index.blade.php, который расширяет мастер. Я не могу использовать Auth::User() на панели навигации, которая частично включена в мастер. Он работает на страницах, требующих аутентификации. У меня есть кнопки входа и регистрации, которые связывают AuthController через /login и /register, и я хотел бы, чтобы они были заменены на Logout, когда аутентифицированный пользователь просматривает индексную страницу «/» или любую другую страницу, где аутентификация не требуется.
Когда пользователь входит в систему, он перенаправляется на маршрут /dashboard, который работает правильно, и панель навигации отображается правильно, но когда они переходят на домашнюю страницу, кнопки входа и регистрации находятся в навигации, и нажатие на них просто перенаправляет их обратно к индексному маршруту "/", не показывая форму входа или регистрации. (поскольку я предполагаю, что они уже вошли в систему.) Единственный способ снова получить форму - вручную ввести / logout в адресной строке.
Я пытаюсь найти ответы повсюду, но не могу понять.
dd(\Auth::user())
возвращает null в контроллере. Я видел много подобных вопросов, но связанных со старыми версиями Laravel, но решения, похоже, не работают, или я просто неправильно их применяю.
Спасибо за помощь!
маршрут.php
Route::get('/','PagesController@index');
Route::group(['middleware' => ['web']], function () {
//
Route::controllers([
'register' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
});
PagesController.php
class PagesController extends Controller
{
//
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
//
}
public function index()
{
$nav_active = 'home';
return view('pages.index',compact('nav_active'));
app.blade.php
<ul class="nav navbar-nav navbar-right">
@if (Auth::guest())
<li><a href="{{ url('/login') }}">Login</a></li>
<li><a href="{{ url('/register') }}">Register</a></li>
@else
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
{{ Auth::user()->name }} <span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li><a href="{{ url('/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li>
</ul>
</li>
@endif
</ul>
страница/index.blade.app
@extends('layouts.app')
@section('content')
<div class="container">
...
</div>
</div>
@stop