I3Dx определенно имеет правильное руководство для атрибута Authorize, это важно для обеспечения безопасности контроллера, вы можете применить к контроллеру или к отдельным действиям.
Что касается глубины URL, я бы не беспокоился о глубине, меня больше беспокоит, что маршрут имеет логический смысл, например:
domain.com / админ / продукты / редактировать / 1
domain.com / администратор / группы / редактировать / 1
domain.com / продукты / вид / 1
domain.com / группы / просмотр / 1
Таким образом, вы знаете, что происходит с каждым маршрутом. очевидно, что один является администратором, а другой - конечным пользователем.
Самый простой способ проверить это - заставить кого-то прочитать ваш URL и спросить его, что они ожидают увидеть.
Надеюсь, это поможет.
И, наконец, для клиентских маршрутов мы часто используем "слизни", а не идентификаторы, чтобы сделать их более читабельными. Поэтому, когда кто-то создает продукт, мы добавляем название, чтобы его можно было использовать в маршруте, например:
domain.com / продукты / вида / большое красное ведро
вместо
domain.com / продукты / вид / 1