Вот эти политики на мой взгляд очень неудобные и громоздкие. В статье по ссылке рекомендуют использовать их а не, например, Entrust. Однако почему не обьясняется. В Entrust есть готовый middleware, который можно добавлять к роутам и группам роутов, и делается это намного проще, а тут так все запутанно. Писать кучу методов вручную, в разных файлов если можно взять готовую библиотеку. Более того, Entrust ещё содержит такую штуку как permissions, что позволяет пользователю самому определять что разрешено для конкретной роли. Это удобно для всяких CRM, где админ будет решать каким ролям пользователей что можно делать. Как сделать такую фичу с политиками без костылей и велосипедов непонятно