← 返回博客
tp62021-08-19 10:21:45 4270

tp6 中间件如何跳转

文章主要讲解了,tp6在使用中间件做登录校验的时候,如何跳转的问题

文件路径:app/admin/middleware/Auth.php
这个是我自己创建的一个中间件,用来做登录校验,在没有登录状态的时候,跳转到登录页面去
<?php
declare (strict_types = 1);

namespace app\admin\middleware;

class Auth
{
    /**
     * 处理请求
     *
     * @param \think\Request $request
     * @param \Closure       $next
     * @return Response
     */
    public function handle($request, \Closure $next)
    {
        if(!session('user_auth') || !session('user_auth_sign')){
            return redirect((string)url('index/index')); // 关键代码
        }
        return $next($request);
    }
}
我这里用的控制器中间件,创建一个Auth控制器,文件路径:app/admin/controller/Auth,然后登录之后的控制器都继承Auth,这样就可以实现控制登录的目的了。
<?php
declare (strict_types=1);

namespace app\admin\controller;

use app\admin\BaseController;  class Auth extends BaseController
{
    protected $middleware = [
        \app\admin\middleware\Auth::class,
    ];
}


相关推荐