CKAN仅在登录后才能访问数据

时间:2014-12-08 14:31:33

标签: ckan fiware

CKAN可以用于网站,用户只有在登录后才能访问数据集吗?

我想到了一个与CKAN一起运行的www.statista.com网站,它允许用户只访问一些数据集。登录后授予完全访问权限(例如,向支付订阅的用户)。这可能与CKAN有关吗?

如果可行,CKAN是否拥有自己的身份验证系统,还是可以通过FIWARE Key Rock GE和访问控制GE进行管理?

2 个答案:

答案 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