CKAN可以用于网站,用户只有在登录后才能访问数据集吗?
我想到了一个与CKAN一起运行的www.statista.com网站,它允许用户只访问一些数据集。登录后授予完全访问权限(例如,向支付订阅的用户)。这可能与CKAN有关吗?
如果可行,CKAN是否拥有自己的身份验证系统,还是可以通过FIWARE Key Rock GE和访问控制GE进行管理?
答案 0 :(得分:3)
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
)。不过,我不建议您采用这种方法,因为您必须手动插入新用户。
答案 1 :(得分:1)
您可以为CKAN编写自定义扩展,您可以在其中定义自定义身份验证。 一个好的起点是:https://ckan.readthedocs.org/en/latest/maintaining/authorization.html