CKAN 的基本身份验证问题

Basic Auth issue with CKAN

我在 Ubuntu 服务器上安装了 CKAN。由于我们有限制任何人访问的需求,所以我们在服务器上配置了 Basic Auth。我们使用 auth 模块配置了 apache2,并使用 .htaccess 文件来管理凭据。它按预期的方式工作以限制访问,但一旦最终用户输入 username/password,他们就会自动使用这些凭据登录到 CKAN。不幸的是,它不允许我以自己的身份登录。

我开始使用的 apache.wsgi 文件列在文档中:http://docs.ckan.org/en/ckan-2.0/deployment.html#create-the-wsgi-script-file

按照此处描述的指导 (https://lists.okfn.org/pipermail/ckan-discuss/2013-August/002862.html),我在 apache.wsgi 文件中添加了一些新行。不幸的是,它仍然无法正常工作。例如它使用基本的身份验证参数登录到 CKAN。

以下是我的 apache.wsgi 文件的当前版本。

import os
activate_this = os.path.join('/usr/lib/ckan/default/bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))

from paste.deploy import loadapp

config_filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'production.ini')
from paste.script.util.logging_config import fileConfig
fileConfig(config_filepath)
_application = loadapp('config:%s' % config_filepath)
def application(environ, start_response):
    environ['wsgi.url_scheme'] = environ.get('HTTP_X_SCHEME', 'http')
    return _application(environ, start_response)

关于解决此问题的任何指导或建议?我需要在我的 apache.wsgi 文件中添加其他信息吗?

你需要的是流行音乐,而不是 url_scheme。

即在您的 apache.wsgi 更改中:

application = loadapp('config:%s' % config_filepath)

至:

_application = loadapp('config:%s' % config_filepath)
def application(environ, start_response):
    environ.pop('REMOTE_USER', None)
    return _application(environ, start_response)