Yes. Spatie package would do exactly what you are after. I have used it to make fairly complex user/profile combinations with different Permissions that allow various levels of access.
@Snapey yes thanks you I usually use policies to manage the authorizations, but I have never tried the spatie package, so I try to know if it is really relevant to use it if I already do good things with the Laravel base functionalities
Imagine some recipes in categories, user 1 is a member and has only access to categories 1 and 3 and user 2 is a member and has only access to categories 1, 2 and 4.
I never had to manage a project with such permissions / roles ... what I need is that different members (with the role "member") can have different permissions ... A use (some admin) can be able to save these permissions (via a form) for other others. The aim is to filter which recipes are visible / hidden for each user.
I already have some idea how I can implement this with the policies ... I just wonder if the spatie package really have something so interesting that it would be shame not to use it to implement such permissions.