我正在尝试更改 CheckIfAdmin 中间件中的 checkIfUserIsAdmin() 方法,以禁用对没有管理员角色的所有用户的访问
发生了什么:
没有什么。 Backpack_user()->can(...) 或 Backpack_user()->role(...) 不起作用...
这是限制用户访问管理面板的正确方法吗?
bp - 3.5
拉拉维尔 - 5.7
PHP-7.2
首先,创建一个中间件:
php artisan make:middleware AdminMiddleware
在此文件中,我们将检查用户是否具有“admin”角色
<?php
namespace App\Http\Middleware;
use Closure;
class AdminMiddleware
{
public function handle($request, Closure $next)
{
if (! \Auth::user()->hasRole('admin'))
return response(trans('backpack::base.unauthorized'),401);
return $next($request);
}
}
现在,将此中间件添加到 /config/backpack/base.php
(不要删除CheckIfAdmin中间件,只需追加它)
'middleware_class' => [
\Backpack\Base\app\Http\Middleware\CheckIfAdmin::class,
\App\Http\Middleware\AdminMiddleware::class
],
当然我们必须缓存配置
php artisan config:cache
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)