计算机网络/计算机科学与应用/系统/运维/开发

ThinkPHP6退出功能

<li><a href="{:url('index/logout')}">退出</a></li>
// 退出
public function logout()
{
    session('adminSessionData','');
    return redirect('/admin/login/index');
}


没有登录:

访问后台所有页面返回到登录页面

已经登录:

访问登录页面,跳转到后台首页


后台登录拦截:

1、传统base控制器、继承父类控制器  在父类中做判断是否有session存在

2、中间件拦截

php think make:middleware Check

会 app/middleware目录下面生成一个Check中间件。

将该目录middleware 移动到应用目录app下 并且更改命名空间  namespace app\admin\middleware;


Check.php 

    // 前置中间件
    public function handle($request, \Closure $next)
    {
       if(empty(session('adminSessionData')) && !preg_match('/login/',$request->pathinfo())){
           return redirect((string)url('login/index'));
       }
       return $next($request);
    }
    
    
// 后置中间件
//    public function handle($request, \Closure $next)
//    {
//        $response = $next($request);
//
//        echo '后置';
//
//        return $response;
//    }

热爱可抵岁月漫长, 温柔可挡艰难时光。

评论

^