Отключить только неавторизованное добавление наборов данных в Fuseki

Я пытаюсь настроить конечную точку SPARQL для Организации как часть Проект с открытым исходным кодом с Apache Jena Fuseki, который скоро будет публично размещен на сервере, и я загрузил в него открытые данные.

Хотя я хочу, чтобы пользователи могли напрямую запрашивать набор данных без какой-либо аутентификации, я хотел бы отключить только добавление новых наборов данных с помощью любого типа аутентификации (на данный момент подойдет даже базовая аутентификация, т.е. основная проблема заключается только в том, что другие люди не должен повреждать конечную точку)

Прямо сейчас я определил три способа, которыми пользователи могут это сделать.

  1. Через пользовательский интерфейс администратора из браузера (внутренний вызов POST-запроса к {fusekihostedURL}/dataset/update?=xxxx)

  2. через запрос POST через командную строку в общедоступный набор данных

  3. через протокол Sparql Graph (отправляет запрос POST на {fusekiURl}/dataset/data)

я могу использовать shiro.ini с базовой аутентификацией по имени пользователя и паролю, но это блокирует саму целевую страницу fuseki с всплывающим окном с именем пользователя и паролем, которые я не хочу разрешать запрашивать для публики.

Помимо того, что вы сидите за обратным прокси-сервером (используя fuseki в качестве файла войны на tomcat, поэтому блокировка этого порта будет означать блокировку всех других приложений), есть ли что-нибудь, что можно сделать?

Любая помощь будет принята с благодарностью


person Deepak Nair    schedule 10.08.2015    source источник


Ответы (1)


Если вы пишете файл конфигурации для своего набора данных, то можете просто не предоставлять конечные точки для обновления и обновления протокола хранилища графиков (которое также отключит обновление набора данных).

Вы также можете сделать это в shiro.ini — потребуется редактирование файла shiro.ini, чтобы ввести более сложные правила, чем по умолчанию. Непредоставление услуг является наиболее безопасным.

person AndyS    schedule 10.08.2015
comment
в этом случае я не могу этого сделать из-за необходимости добавлять новые данные, поэтому он полностью отключит отключение обновления, поэтому shiro выглядит единственным способом, есть ли какие-либо примеры этих shiro.ini? я пытался добавить аутентификацию пользователя для статуса и пинга в ini по умолчанию, но не защищал только часть обновления, любую точную функцию, например (статус, пинг), которая назначает =authcBasic[пользователь,‹некоторый аутентифицированный пользователь ›] будет делать задание ? - person Deepak Nair; 11.08.2015