laravel auth middleware: one route, two views
<p>I am building a store so i could learn laravel.
Like most stores, users can add items to a cart but cannot checkout until they register. 
How do i have the same route return a user name when authorized and a nothing when an authorized.
This seemed very easy to me at first: </p>

<pre><code>@if(Auth::guest())
  Nothing || or login/register buttons
@else
  {{ Auth::user()-&gt;name }}
@endif
</code></pre>

<p>That works well when you have content that should only be visible to loyal users but for a store, you need users to see whats there to offer.</p>

<p>The problem is that, in my home controller, i need to add middleware auth in the constructor function so that <code>Route::get('/',HomeController@index);</code> returns a view and in the view use <code>@if(Auth::guest()) ...</code>, but adding this middleware means this route is not accessible if the user is not Authenticated and without it <a href="https://stackoverflow.com/questions/35633942/laravel-5-2-authcheck-return-true-after-login-but-false-after-redirect">you get this issue</a>.</p>

<p>So how do i have the same root route with Authenticated user data<code>(if authenticated)</code> without blocking the route from unauthenticated users?  </p>