0

I am trying to access dashboard as super admin I used laratrust to set roles and permissions: laratrustSeeder.php file:

 <?php

return [
    'role_structure' => [
       'super_admin' => [
            'users' => 'c,r,u,d',
            'categories' => 'c,r,u,d'

        ],

databaseSeeder.php:

public function run()
{
    // $this->call(UsersTableSeeder::class);
    $this->call([
        LaratrustSeeder::class,
        UsersTableSeeder::class,
    ]);

my UsersTableSeeder.php

 public function run()
    {
        //

        $user = App\User::create([
            'name'=>'super_admin',
            'email'=>'super_admin@app.com',
            'password'=>bcrypt('123456'),
        ]);

        $user->attachRole('super_admin');
    } //end of run

And this is my route:

 Route::prefix('dashboard')
->name('dashboard.')
->middleware(['auth','role:super_admin|admin'])
->group(function(){

//make route dashboard.welcome
Route::get('/', 'WelcomeController@index')->name('welcome');
//make route categories:
Route::resource('categories','CategoryController')->except(['show']);
Route::resource('roles','RoleController')->except(['show']);

});

phpMyadmin DB

Now I log in uccessfully using super_admin BUT can NOT browse dashboard, I got 403 error:User does not have any of the necessary access rights.

shaza
  • 37
  • 11

1 Answers1

0

I solved it by changing role in Rote into capital letter: Super_admin not super_admin.

->middleware(['auth','role:Super_admin|admin']) 

instead of :

    ->middleware(['auth','role:super_admin|admin'])
Wahyu Kristianto
  • 8,719
  • 6
  • 43
  • 68
shaza
  • 37
  • 11