Ваш вопрос очень, очень хороший.Мне тоже не пришлось решать ту же проблему.Я думаю, ваша проблема не решается политикой.Я думаю, что политики используются для обеспечения конфиденциальности между содержимым и его владельцем.
Вы можете решить с помощью действий / разрешений путем проверки на уровне промежуточного программного обеспечения.
Мой сценарий рекомендуемого решения следующий;
Вы можете проверить, имеет ли зарегистрированный пользователь доступ к текущему действию в таблице user_roles через промежуточное программное обеспечение, или получить весь список действий доступа и сохранить его в сеансе зарегистрированного пользователя.
Сохраненные данные могут быть похожи на;
$user = ['accessible_resources' => [
'product' => ['index','show'],
'news' => ['index','show','edit','store','create','update','destroy']
];
Надеюсь, мое решение вам поможет.