[![Tests](https://github.com/DataShades/ckanext-vip-portal/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/DataShades/ckanext-vip-portal/actions/workflows/test.yml)
# ckanext-vip-portal
Generic access restrictions for anonymous user.
Configure the set or endpoints/URLs that are available for the anonymous user,
and redirect to the login page if he attempts to visit non-whitelisted page.
## Requirements
Compatibility with core CKAN versions:
| CKAN version | Compatible? |
|--------------|-------------|
| 2.9 | yes |
| 2.10 | yes |
| 2.11(master) | yes |
## Installation
To install `ckanext-vip-portal`:
2. Install it using pip
```sh
pip install ckanext-vip-portal
```
3. Add `vip_portal` to the `ckan.plugins` setting in your CKAN
config file.
## Config settings
```ini
# Configure endpoint that handles unauthorized page access
# (optional, default: user.login)
ckanext.vip_portal.login_endpoint = auth_ext.login
# Allow anonymous access to all the pages. It basically disables current
# extensions
# (optional, default: false)
ckanext.vip_portal.free_anonymous_access = true
# Allow any authenticated user to visit pages normally
# (optional, default: true)
ckanext.vip_portal.free_authenticated_access = false
# Unless endpoint is blocked by one of IVipAccess implementations, it can be
# accessed by anyone. Use it in combination with IVipPortal interface if you
# want to leave the portal generally open and block only certain endpoints
# (optional, default: false)
ckanext.vip_portal.free_access_by_default = true
# Allow anonymous access to login pages
# (optional, default: true)
ckanext.vip_portal.allow_login = false
# Allow anonymous access to password reset page
# (optional, default: true)
ckanext.vip_portal.allow_password_reset = false
# Allow anonymous access to registration pages
# (optional, default: true)
ckanext.vip_portal.allow_registration = false
# Allow anonymous access to API endpoints
# (optional, default: true)
ckanext.vip_portal.allow_api = false
# Additional endpoints that are accessible by anonymous user
# (optional, default: )
ckanext.vip_portal.extra_allowed_endpoints = home.index home.about dataset.search
# Additional paths(URLs) that are accessible by anonymous user
# (optional, default: )
ckanext.vip_portal.extra_allowed_paths = / /about /dataset
# Allow anonymous user to access any path that starts with the following
# prefixes
# (optional, default: )
ckanext.vip_portal.extra_allowed_prefixes = /dataset /organization /group /static
# Allow anonymous user to access any path that ends with the following
# suffixes
# (optional, default: )
ckanext.vip_portal.extra_allowed_suffixes = .svg .html .css
# Allows to customize the route that the user will get redirected to
# after a successful login. Empty value allow user to be redirected to the page
# requested before displaying login page
# (optional, default: )
ckan.auth.route_after_login = dataset.search
```
## Developer installation
To install `ckanext-vip-portal` for development, activate your CKAN virtualenv and
do:
git clone https://github.com/DataShades/ckanext-vip-portal.git
cd ckanext-vip-portal
pip install -e '.[dev]'
## License
[AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html)
Raw data
{
"_id": null,
"home_page": "https://github.com/DataShades/ckanext-vip-portal",
"name": "ckanext-vip-portal",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "CKAN",
"author": "Sergey Motornyuk",
"author_email": "sergey.motornyuk@linkdigital.com.au",
"download_url": "https://files.pythonhosted.org/packages/b4/e0/020cd151e17e06c0bafbc62497d8e7c9672e70262511e5bbf29a0d1afbd3/ckanext-vip-portal-0.2.4.tar.gz",
"platform": null,
"description": "[![Tests](https://github.com/DataShades/ckanext-vip-portal/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/DataShades/ckanext-vip-portal/actions/workflows/test.yml)\n\n# ckanext-vip-portal\n\nGeneric access restrictions for anonymous user.\n\nConfigure the set or endpoints/URLs that are available for the anonymous user,\nand redirect to the login page if he attempts to visit non-whitelisted page.\n\n## Requirements\n\nCompatibility with core CKAN versions:\n\n| CKAN version | Compatible? |\n|--------------|-------------|\n| 2.9 | yes |\n| 2.10 | yes |\n| 2.11(master) | yes |\n\n\n## Installation\n\nTo install `ckanext-vip-portal`:\n\n2. Install it using pip\n ```sh\n pip install ckanext-vip-portal\n ```\n\n3. Add `vip_portal` to the `ckan.plugins` setting in your CKAN\n config file.\n\n\n## Config settings\n\n```ini\n# Configure endpoint that handles unauthorized page access\n# (optional, default: user.login)\nckanext.vip_portal.login_endpoint = auth_ext.login\n\n# Allow anonymous access to all the pages. It basically disables current\n# extensions\n# (optional, default: false)\nckanext.vip_portal.free_anonymous_access = true\n\n# Allow any authenticated user to visit pages normally\n# (optional, default: true)\nckanext.vip_portal.free_authenticated_access = false\n\n# Unless endpoint is blocked by one of IVipAccess implementations, it can be\n# accessed by anyone. Use it in combination with IVipPortal interface if you\n# want to leave the portal generally open and block only certain endpoints\n# (optional, default: false)\nckanext.vip_portal.free_access_by_default = true\n\n# Allow anonymous access to login pages\n# (optional, default: true)\nckanext.vip_portal.allow_login = false\n\n# Allow anonymous access to password reset page\n# (optional, default: true)\nckanext.vip_portal.allow_password_reset = false\n\n# Allow anonymous access to registration pages\n# (optional, default: true)\nckanext.vip_portal.allow_registration = false\n\n# Allow anonymous access to API endpoints\n# (optional, default: true)\nckanext.vip_portal.allow_api = false\n\n# Additional endpoints that are accessible by anonymous user\n# (optional, default: )\nckanext.vip_portal.extra_allowed_endpoints = home.index home.about dataset.search\n\n# Additional paths(URLs) that are accessible by anonymous user\n# (optional, default: )\nckanext.vip_portal.extra_allowed_paths = / /about /dataset\n\n# Allow anonymous user to access any path that starts with the following\n# prefixes\n# (optional, default: )\nckanext.vip_portal.extra_allowed_prefixes = /dataset /organization /group /static\n\n# Allow anonymous user to access any path that ends with the following\n# suffixes\n# (optional, default: )\nckanext.vip_portal.extra_allowed_suffixes = .svg .html .css\n\n# Allows to customize the route that the user will get redirected to\n# after a successful login. Empty value allow user to be redirected to the page \n# requested before displaying login page\n# (optional, default: )\nckan.auth.route_after_login = dataset.search\n\n```\n\n\n## Developer installation\n\nTo install `ckanext-vip-portal` for development, activate your CKAN virtualenv and\ndo:\n\n git clone https://github.com/DataShades/ckanext-vip-portal.git\n cd ckanext-vip-portal\n pip install -e '.[dev]'\n\n\n## License\n\n[AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html)\n",
"bugtrack_url": null,
"license": "AGPL",
"summary": "",
"version": "0.2.4",
"project_urls": {
"Homepage": "https://github.com/DataShades/ckanext-vip-portal"
},
"split_keywords": [
"ckan"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "aa5e2978b61dbb97ded6541f1642c5c773bcd6182626a8f93f89d31786d7239a",
"md5": "6fb9a721ea660c351ef918cb45e1df83",
"sha256": "4fa697f43f52040a0e45edb9bda9bf2f7dbe75a53a3e5af720646846e5c754cf"
},
"downloads": -1,
"filename": "ckanext_vip_portal-0.2.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6fb9a721ea660c351ef918cb45e1df83",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 21384,
"upload_time": "2023-09-22T06:36:00",
"upload_time_iso_8601": "2023-09-22T06:36:00.400454Z",
"url": "https://files.pythonhosted.org/packages/aa/5e/2978b61dbb97ded6541f1642c5c773bcd6182626a8f93f89d31786d7239a/ckanext_vip_portal-0.2.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b4e0020cd151e17e06c0bafbc62497d8e7c9672e70262511e5bbf29a0d1afbd3",
"md5": "d602d68a29bd4376199b91a4ec1d28a6",
"sha256": "37fb030b8b455bb8f8a26f2c7fe78c38462929b576d4251c95b66e12f60c7ea7"
},
"downloads": -1,
"filename": "ckanext-vip-portal-0.2.4.tar.gz",
"has_sig": false,
"md5_digest": "d602d68a29bd4376199b91a4ec1d28a6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 20729,
"upload_time": "2023-09-22T06:36:02",
"upload_time_iso_8601": "2023-09-22T06:36:02.513079Z",
"url": "https://files.pythonhosted.org/packages/b4/e0/020cd151e17e06c0bafbc62497d8e7c9672e70262511e5bbf29a0d1afbd3/ckanext-vip-portal-0.2.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-22 06:36:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DataShades",
"github_project": "ckanext-vip-portal",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "ckanext-vip-portal"
}