CKAN имеет свою собственную систему аутентификации, но мы разработали расширение, которое позволяет разработчикам использовать некоторые Idm (включая FIWARE один) для аутентификации пользователей. Если вы хотите использовать это расширение, вы можете проверить инструкции по его установке на https://github.com/conwetlab/ckanext-oauth2
Мы также разработали другое расширение для управления пользователями, которые могут просматривать определенный набор данных. Тем не менее, я думаю, что это расширение не подходит для ваших целей, но вы можете развивать свое собственное расширение (как указано Kapucko). Это очень просто, вы должны следовать инструкциям, приведенным на странице http://docs.ckan.org/en/latest/extensions/tutorial.html.
В вашем случае вам придется реализовать интерфейс IAuthFunctions
плагин, перезаписать функцию package_show
и вернуть { 'success': True }
только тогда, когда пользователь вошел в систему. Кажется, я помню, что это происходит только тогда, когда context.get('auth_user_obj') is not None
.
Вы также можете использовать организации и создать в нем все наборы данных (установка поля Visibility
на Private
). Тем не менее, я не рекомендую вам этот подход, так как вам придется вручную вставлять новых пользователей.