Мне нравится следующая система
Для каждой сущности, те же заказы, есть права: просмотр, создание, удаление.
Есть роли, включающие в себя эти права. Я предпочитаю простые роли, содержащие одно право, но кто-то делает, например, роль, содержащую чтение заказов и товаров, например.
Есть профили групп доступа, это набор ролей.
Есть группа доступа, расширяющая профиль. Человек имеет право на чтение заказов, но в группе можно ограничить по полю, например складу.
И в конце юзер имеет много групп доступа.
Сложно в реализации, но зато оче гибко