Laravel-如果不是超级用户,如何显示访问被拒绝

时间:2020-06-12 20:14:57

标签: laravel spatie laravel-permission

我有这个控制器:

    class AdminLoginController extends Controller
    {
        public function index() {
            return view('auth.admin.login');
        }
    }

路线\网络

    Route::get('/admin/login', 'Auth\AdminLoginController@index')->name('admin.login');

我正在使用spatie

如果登录的用户不是“超级管理员”,该怎么办?

> Auth::user()->hasRole('Super Admin')

应用程序应显示“访问被拒绝”。但是,如果是超级管理员,则应重定向到仪表板。

我该怎么做?

谢谢

1 个答案:

答案 0 :(得分:0)

  1. 在config / auth.php中添加新角色,例如管理员角色。

  2. 在该角色的登录控制器中重新定义重定向URL。 (您可以通过“访问被拒绝”页面进行设置)

  3. 请按如下所示在Dashboard控制器中添加构造函数

    公共函数__construct() { $ this-> middleware('auth:super_admin'); }