У меня есть PHP-приложение, которое имеет механизм контроля доступа, основанный на идентификаторах навигации отдельных страниц.Таким образом, пользователь может иметь доступ к страницам 1, 4, 5, например.Navigation-id не являются статичными, новые страницы (и, следовательно, новые nav-id) могут генерироваться пользователем-администратором.И у меня есть какая-то сервис-ориентированная архитектура.Так что у меня есть сервисы, которые вызываются из клиента JSON, а также со стороны сервера напрямую из PHP-классов (контроллеров).Проблема в том, что мне нужен механизм контроля доступа к сервисам.И я бы хотел отделить его от самих сервисов.
Сервисы возвращают бизнес-объекты.Все эти BO имеют некоторую «связь» с объектом, который имеет идентификатор навигации.например, сервис возвращает изображения: Image.page -> Page.navID или сервис возвращает измерения (nn): Dimension -> DimImageConnector -> Image.page -> Page.navID.
Я не могу представить себе чистое решение для проверки прав доступа.Поиск идентификатора навигации в бизнес-объектах представляется не очень хорошим и простым решением.
Было бы неплохо получить некоторые сведения для моей архитектуры управления доступом.
Спасибо!
Кстати: я использую структуру аннотаций, поэтому одна из возможностей - указать некоторую информацию о доступе прямо методом сервиса.