1.应用场景:用户登录后一段时间后需要重新登录,登录后返回到之前浏览过的页面,而不是系统首页。例如:当用户在/article/2页面时,用户登录过期后会被重定向到登录页面。登录后,用户应该仍然在/user/2而不是home/index。2.实现原理通过判断cookie的过期时间来判断用户是否需要重新登录。再次登录前,将用户当前的url地址保存在session中,下次登录后跳转到该url地址。3、路由中间件在laravel中的具体实现(判断登录状态)这里通过cookie是否过期来判断用户的登录状态。中间件只判断登录的相关判断和执行,不做多余的操作(我使用登录时cookie$token的值作为sessionkey存储),代码如下:publicfunctionhandle($request,Closure$next){//判断cookie是否存在if($token=Cookie::get('token')){//判断session信息,保持状态一致if($request->session()->get($token)){返回$next($request);}}//获取当前url并跳转到登录页面//这里也可以直接使用session写入url地址,需要url_encode()returnredirect('/admin')->with('reurl',$request->getRequestUri());页面端(判断闪存信息)判断闪存信息,这里分为ajax登录和submit,提交应该很少,ajax下获取reurl,然后登录后台判断reurl。@if(session('reurl'))