Laravel 6 个中间件
Laravel 6x Middleware
我是 Laravel 的新手。我一直在研究中间件以及如何根据文档实现它。
我有一个路由通过我的 IsAdmin 中间件 Class。
出于某种原因,当用户 IsAdmin 设置为 0 时,它仍在完成请求。
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
class IsAdmin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$IfAdmin = auth()->user()->IsAdmin;
if (!auth()->user()->IsAdmin = "1"){
abort(403, 'Unauthorized action.');
}else{
return $next($request);
}
}
}
在我的数据库中,用户 table "IsAdmin" 设置为 0。我已经能够通过 运行 在另一个页面上确认用户的查询来确认这一点IsAdmin 为 0。
您需要进行变量比较。您的代码中有赋值运算符。Documentation
使用
if (!auth()->user()->IsAdmin){
abort(403, 'Unauthorized action.');
}else{
return $next($request);
}
我是 Laravel 的新手。我一直在研究中间件以及如何根据文档实现它。
我有一个路由通过我的 IsAdmin 中间件 Class。
出于某种原因,当用户 IsAdmin 设置为 0 时,它仍在完成请求。
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
class IsAdmin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$IfAdmin = auth()->user()->IsAdmin;
if (!auth()->user()->IsAdmin = "1"){
abort(403, 'Unauthorized action.');
}else{
return $next($request);
}
}
}
在我的数据库中,用户 table "IsAdmin" 设置为 0。我已经能够通过 运行 在另一个页面上确认用户的查询来确认这一点IsAdmin 为 0。
您需要进行变量比较。您的代码中有赋值运算符。Documentation 使用
if (!auth()->user()->IsAdmin){
abort(403, 'Unauthorized action.');
}else{
return $next($request);
}