分享一个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 协议》,转载必须注明作者和本文链接