Laravel 5.6 - роли и разрешения пользователей (ACL) с использованием Spatie Tutorial

Можешь посоветовать, что делать? Я следую этому руководству: Laravel 5.6 - роли и разрешения пользователей (ACL) с использованием Spatie Tutorial

Все хорошо. Но в итоге у меня есть доступ только к странице users, и я не могу создать нового пользователя, потому что в списке нет ролей. На страницах - products и roles дает мне сообщение от обработчика: ["User have not permission for this page access."]

У меня есть только семена разрешения:

    <?php

use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;

class PermissionTableSeeder extends Seeder
{
  /**
   * Run the database seeds.
   *
   * @return void
   */
  public function run()
  {
     $permissions = [
         'role-list',
         'role-create',
         'role-edit',
         'role-delete',
         'product-list',
         'product-create',
         'product-edit',
         'product-delete'
      ];


      foreach ($permissions as $permission) {
           Permission::create(['name' => $permission]);
      }
  }
}

Я могу дать вам больше кода, если хотите, из проекта.


person Hristian Yordanov    schedule 15.03.2019    source источник
comment
Можете ли вы сказать какой-либо список, связанный с каким-либо разрешением, и как вы связываете эту роль с пользователем?   -  person Prafulla Kumar Sahu    schedule 15.03.2019
comment
разрешения, я думаю, находятся на странице roles, у которой нет доступа   -  person Hristian Yordanov    schedule 15.03.2019
comment
ваш пользователь должен быть связан с какой-то ролью, а роли связаны с каким-то разрешением, верно?   -  person Prafulla Kumar Sahu    schedule 15.03.2019
comment
да. Но в учебнике нет пользователя, связанного с какими-либо разрешениями. Мне нужно вручную добавить разрешение на роль в базе данных   -  person Hristian Yordanov    schedule 15.03.2019
comment
Я думаю, что любой пользователь должен быть связан с некоторой ролью, которая имеет разрешение на доступ к этой странице, или пользователь должен быть связан с некоторым разрешением на доступ к этой странице, если не то, как вы будете выполнять эту операцию, связан ли пользователь входа в систему таким образом а вы не умеете этого делать? У меня нет большого опыта в spati, но только что пробовал со свежей установкой, думаю, можно где-нибудь ее использовать. Вы можете проверить это здесь   -  person Prafulla Kumar Sahu    schedule 15.03.2019
comment
Правильно ли вы выполнили шаг 9 в упомянутом вами руководстве?   -  person Prafulla Kumar Sahu    schedule 15.03.2019
comment
Да. Фактически, теперь я вижу, что в начале урока написано: After register user, you don't have any roles, so you can edit your details and assign admin role to you from User Management. Но нет admin роли ... :)   -  person Hristian Yordanov    schedule 15.03.2019
comment
какая у вас роль?   -  person Prafulla Kumar Sahu    schedule 15.03.2019
comment
Давайте продолжим это обсуждение в чате.   -  person Prafulla Kumar Sahu    schedule 15.03.2019
comment
Также хотелось бы знать, появляется ли у вас эта ошибка при создании нового продукта или создании нового пользователя?   -  person Prafulla Kumar Sahu    schedule 15.03.2019


Ответы (1)


Я создал репозиторий, о котором упоминал в комментарии, чтобы настроить то же, что и в упомянутом вами руководстве. Что мне нужно сделать, так это я создал роль с разрешением на создание продукта и назначил ее одному пользователю, и на основе этих учетных данных пользователя я мог создать новый продукт.

Итак, в учебнике он пропустил два шага: создание роли и назначение роли пользователю перед созданием продукта.

person Prafulla Kumar Sahu    schedule 16.03.2019
comment
Можете рассказать, как вы ее создали (роль)? - person Hristian Yordanov; 18.03.2019
comment
@HristianYordanov из ремесленника, вы можете создать новое разрешение, как в roles/create, у вас не будет доступа, затем назначьте эту роль одному пользователю, и теперь, если вы хотите создать новую роль, чтобы позволить пользователю создавать продукт, вы можете это сделать, или просто так как у вас будет роль писателя с разрешением edit articles, просто добавьте это разрешение в RoleController __construct разрешение для добавления новой роли или даже в ProductController __construct. - person Prafulla Kumar Sahu; 18.03.2019