Laravel:如何在不强制重定向的情况下查找用户是否已登录?

Ben*_*ird 0 php authentication laravel laravel-5 laravel-5.5

我刚刚发现Auth Facade只有在包含auth中间件的情况下才能工作.不幸的是,包括auth中间件会强制用户在未登录的情况下进行重定向.这意味着路由将仅适用于已登录的用户,或仅适用于未登录的用户.

我希望有一个页面,无论用户是否登录,都可以访问该页面,但如果用户对象显示,则会显示一些其他数据.我该怎么做呢?

看起来最简单的方法是创建两个路由,这两个路由都由相同的控制器方法支持.这是最好的方法吗?

编辑:经过进一步调查,我发现问题是默认防护不是用户登录的,我能够登录用户auth :: guard() - > user()而不是Auth :: user().我无法全局更改默认防护,因此问题变为:有没有办法在每个路由的基础上设置默认防护?或者我需要在任何地方使用auth :: guard()吗?

mad*_*scu 5

Auth::check()在视图中使用以检查用户是否已登录