Laravel Auth::Check 判断有问题,请大家帮忙看一看非常感谢!!!!!
@if (Auth::check())
<a href="{{ route('users.index', Auth::user()->id) }}" >点击返回 “用户首页”</a>
@else
<a href="{{ route('login') }}">点击返回 “登录页面”</a>
@endif
如上,我在 404 错误页面中添加了上面的判断,来显示正确的目标链接
-
假设用户已经登录,在以下两种情况下,Auth::Check() 判断有些问题:
-
情况 1: www.asdf.com/users/221431234sadsf
此时能显示:点击返回 “用户首页”
-
情况 2: www.asdf.com/221431234sadsf
此时能显示:点击返回 “登录页面”
-
第二种情况,用户也是登录的状态,为什么 Auth::Check() 判断不出来呢???
-
请大家帮忙看看,指点我一下!非常感谢!
Auth::check()
是基于 Session 的,仅当开启 Session 的时候才能生效,对于第二个 Url 没有与之匹配的路由,也就没有经过 Laravel 的 Session 中间件,所以你需要在web
中间件包含的路由组里用Route::fallback()
来定义一个默认的路由来捕获所有的未定义的 url。