Пакеты для пагинации и RBAC

Могли бы порекомендовать пару проверенных пакетов, если сами пользовались, для двух нужд:

  • Пагинация для среды SLIM + куски Symfony + Doctrine (ORM+DBAL) + TWIG.
  • RBAC доступ на основе ролей. Нужно реализовывать ролевой доступ как для сотрудников, так и для клиентов (пользователей приложения) с множеством типов привилегий для ролей: финансовые привилегии, доступ к элементам интерфейсов... Нагуглил про всякие Casbin, не понял, как работает.

Пагинация для среды SLIM

В паджинации достаточно из API вернуть номер текущей страницы и их полное число. И на фронтенде сделать компонент:

<Pagination path={location.pathname} page={page} total={total} />

в котором по этим количествам в цикле вывести ссылки вроде:

const pageNumbers = range(Math.max(1, page - 5), Math.min(page + 5, total));

return (
   <ul>
       {pageNumbers.map((i) => (
           <li className={i === page ? 'active' : ''}>
               <a href={path + '?page='  + i}>{i}</a>
           </li>
       ))}
   </ul>
)

RBAC

Да, можно взять что-то популярное вроде Casbin или laminas-permissions-rbac.

Дмитрий Елисеев
elisdn.ru
Комментарии (0)
Зарегистрируйтесь или войдите чтобы оставить комментарий

Или войти через:

Google
GitHub
Yandex
MailRu