Disable anonymous access to the CKAN classic frontend. This extension redirects anonymous users to the login page and only allow if they are logged in. It's useful if you're using CKAN as an internal data management system or have a decoupled frontend for the end users.
To install ckanext-noanonaccess:
-
Activate your CKAN virtual environment, for example::
. /usr/lib/ckan/default/bin/activate
-
Install the ckanext-noanonaccess Python package into your virtual environment::
pip install ckanext-noanonaccess
-
Add
noanonaccess
to theckan.plugins
setting in your CKAN config file (by default the config file is located at;)/etc/ckan/default/production.ini
-
Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu:
sudo service apache2 reload
You can also specify allowed page URLs in blueprints by using either the blueprint's name or path URL in regex format, separated by spaces.
ckanext.noanonaccess.allowed_blueprint = feeds.general feeds.group
ckanext.noanonaccess.allowed_paths = /about/.* /oauth2/callback
To install ckanext-noanonaccess for development, activate your CKAN virtualenv and do::
git clone https://github.com/datopian/ckanext-noanonaccess.git
cd ckanext-noanonaccess
python setup.py develop
pip install -r dev-requirements.txt
To run the tests, do::
pytest --ckan-ini=test.ini
To run the tests and produce a coverage report, first make sure you have
coverage installed in your virtualenv (pip install coverage
) then run::
pytest --ckan-ini=test.ini --cov=ckanext.noanonaccess --disable-warnings ckanext/noanonaccess/tests