2025-06-25 10:53:11 +08:00

34 lines
849 B
PHP

<?php
namespace app\api\middleware;
use Closure;
use think\Request;
use think\Response;
class Auth
{
protected $noNeedLogin = [
'BusinessInfo' => ['product_info'],
];
public function handle(Request $request, Closure $next): Response
{
// 获取当前请求的控制器和方法
$controller = $request->controller();
$action = $request->action();
// 判断当前请求是否在 noNeedLogin 列表中
if (isset($this->noNeedLogin[$controller]) && in_array($action, $this->noNeedLogin[$controller])) {
return $next($request);
}
// 执行登录验证逻辑
if (!session('?user_id')) {
// 未登录,返回错误或重定向到登录页面
return redirect('login/index');
}
return $next($request);
}
}