Сервисы объектов имеют несколько уровней контроля доступа и возможности отслеживания редактирования, которые полезны при создании приложений для совместного редактирования.
- Права доступа редактора определяют, могут ли пользователи добавлять, удалять или изменять объекты в сервисе. Например, вы можете разрешить редакторам добавлять объекты, но не изменять и не удалять их.
- Функции отслеживания изменений регистрируют имя пользователя, создавшего или изменившего объекты и когда это сделано. Это полезно, когда требуется отчетность по проведенным изменениям. Дополнительная возможность отслеживания истории позволяет сохранять информацию об изменениях объектов с течением времени, позволяя отменять внесенные изменения. Эта функциональная возможность может использоваться только для многопользовательских баз геоданных, но не для баз данных.
- Функция Управление доступом на основе владения позволяет ограничить доступ к объектам в зависимости от того, кто их создал. Например, можно разрешить пользователям создавать и редактировать собственные данные, но не запрашивать данные, созданные другими пользователями. Эта функциональная возможность может использоваться только для многопользовательских баз геоданных, но не для баз данных.
Вышеупомянутые функции используют токены для записи и проверки имен пользователей. Разработчики могут потребовать от пользователей предоставить учетные данные ArcGIS Server для входа в систему перед использованием приложения. Затем разработчики используют эти учетные данные для получения токена от ArcGIS Server. Токен содержит зашифрованную информацию о том, кто входит в систему, и пользователь сможет работать с объектами в сервисе согласно своему уровню доступа.
Вы можете использовать любой или все вышеперечисленные функциональные возможности при разработке сервиса и сопутствующих приложений. Рассмотрим веб-приложение, в котором пользователи могут сообщать о преступлениях в своем сообществе. Отслеживание изменений со стороны редактора может подсказать вам, кто и когда сообщал о преступлениях. С помощью контроля доступа на основе владения вы можете гарантировать, что преступление, о котором сообщил один гражданин, не может быть удалено другим гражданином (например, преступником). Наконец, вы можете отключить возможность изменять существующие преступления, разрешая только их добавление и удаление.
Сценарии в отношении прав доступа в сервисе объектов и отслеживании редактирования
Ниже приведены еще несколько сценариев, в которых комбинация разрешений редактора, отслеживания редактора и контроля доступа на основе владения была бы полезна в приложении. Эти сценарии помогут лучше понять, как установить наилучшее сочетание свойств в вашем сервисе объекто в зависимости от назначения вашего приложения.
Только волонтеры
В веб-приложении, предназначенном только для добровольцев, все редакторы являются анонимными волонтерами. В таком веб-приложении пользователи могут размещать точку своего текущего местоположения, соответствующего описанию. В таком сценарии сервис должен предоставлять только операции запроса и создания. И поскольку объекты не будут изменены, отслеживание создателей данных не является приоритетом. Отслеживание изменений и истории также не требуется. При необходимости администратор может открыть набор данных в ArcGIS Pro и удалить ненужные объекты.
Только авторизованные
В приложении, использующем только авторизованный тип, все пользователи могут редактировать любые данные, но изменения отслеживаются. Примером приложения такого типа может служить совместная работа людей над цифровой инвентаризацией деревьев в их городе. Волонтеры могут добавлять, изменять или удалять любое дерево из базы данных, но для внесения изменений они должны войти в приложение.
В приложении, доступном только для авторизованных лиц, пользователи могут запросить историю любого объекта, чтобы узнать, кто и когда вносил в нее изменения. При необходимости администратор может откатить правку назад. Самый последний редактор каждого объекта отслеживается и сохраняется в базе данных.
Волонтеры и авторизованные
Вы можете использовать несколько сервисов объектов в приложении, использующем подходы с привлечением как волонтеров, так и авторизованных редакторов. Например, предположим, что вы работаете в команде биологов, собирающих информацию о дикой природе в национальном парке. Каждый из вас отвечает за определенную область исследования, но вы хотите сотрудничать, чтобы иметь возможность проводить анализ и публиковать результаты по всему парку. И вы также хотите собирать фотографии, видео и комментарии от посетителей парка.
Чтобы управлять набором этих данных, вы можете предоставить сервис объектов среды обитания, доступных для редактирования только биологами, и сервис объектов точек наблюдения, доступных для редактирования всеми. Разработчик такого веб-приложения мог бы написать логику решения таким образом, чтобы биологи, вошедшие в систему, видели оба сервиса объектов, в то время как анонимные пользователи видели бы только сервис объектов точек наблюдения и, возможно, нередактируемое изображение областей обитания, отображенное картографическим сервисом.