分享一个session过期后根据guard跳转的实现

在下不才,刚学习PHP不久,(大佬请闭眼)!
Laravel8.5版本。
实现功能:session超时后,会员中心跳到会员中心的登陆入口路由;
若后台超时跳到后台的登陆入口路由。

App\Exceptions\Handler.php中新增如下两个方法:

/**
 * Convert an authentication exception into a response.
 * @param  \Illuminate\Http\Request  $request
 * @param  \Illuminate\Auth\AuthenticationException  $exception
 * @return \Symfony\Component\HttpFoundation\Response
 */
protected function unauthenticated($request, AuthenticationException $exception)
{
    return $request->expectsJson()
        ? response()->json(['message' => $exception->getMessage()], 401)
        : redirect()->guest($this->redirectTo($exception->guards()) ?? route('login')); //其中route('login')为后台的默认登陆入口
}
/**
 * 重定向跳转至会员中心
 * @param array $guardArr
 * @return string
 */
protected function redirectTo($guardArr = [])
{
    if(in_array('member',$guardArr)){  //其中'member'为前台的guard守卫名
        return route('member.login'); //会员中心的登陆入口
    }
}

谢谢大家,这也是东拼西拼的,分享给像我一样的新手吧!!

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!