Я думаю, что это в основном вопрос о том, какой вариант больше подходит для того, что вам нужно.
Основные соображения, которые я считаю, следующие:
- Размер ACL: оченьбольшой ACL может быть не очень быстрым для сериализации / десериализации, и в целом он может работать медленнее.
- Модификация ACL: вам нужно иметь возможность выполнять более сложные модификации ACL, чем просто добавление и удаление правил
В случае большого ACL лучше использовать конкретную схему.Это позволит вам легко составлять ACL только из определенных правил, которые применяются к вашему текущему использованию.Таким образом, вы можете ограничить размер ACL и получить лучшую производительность.
Если есть небольшой ACL, сериализация обычно будет работать достаточно хорошо.
Если вам нужно внести более сложные изменения вACL, вы также можете рассмотреть возможность использования определенной схемы для него.Таким образом, вам будет проще запрашивать все правила и отображать их для редактирования пользователем.
(Относительно размера / производительности: вы, вероятно, можете просто профилировать и посмотреть, есть ли у вас проблемы с производительностью, чтобы определитьлучший выбор)