OpenStack Dashboard (Horizon)
Go to file
Hugo Brito 5d6eefa498 Create Horizon session control logic
The Multiple Simultaneous Logins Control is a feature designed
for securing Horizon dashboard sessions. The default Horizon
configuration allows the same user to login several times
(e.g. different browsers) simultaneously, that is, the same user
can have more than one active session for Horizon dashboard. When
there is the need to control the active sessions that one user can
have simultaneously, it will be possible to configure the Horizon dashboard
to disallow more than one active session per user. When multiple simultaneously
sessions are disabled, the most recent authenticated session will be considered
the valid one and the previous session will be invalidated.

The following manual tests encompass both simulteaneous session control
configuration: 'allow' and 'disconnect' and were verified with this code
change before submitting it:

Test Plan:
PASS: Verify that a user is able to login to Horizon dashboard (when
configuration is 'disconnect')
PASS: Verify that a user is able to start a second Horizon dashboard
session and the first session is finished (when configuration is
'disconnect')

Failure Path:
PASS: Verify that when a user fails to authenticate a second Horizon
dashboard session the first session stills active (when configuration is
'disconnect')

Regression:
PASS: Verify that a user is able to login to Horizon dashboard (when
configuration is default: 'allow')
PASS: Verify that a user is able to start multiple simultaneous Horizon
dashboard sessions (when configuration is default: 'allow')

Implements: blueprint handle-multiple-login-sessions-from-same-user-in-horizon
Signed-off-by: Hugo Brito <hugo.brito@windriver.com>
Co-authored-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
Change-Id: I8462aa98398dd8f27fe24d911c9bfaa7f303eb93
2022-02-28 23:48:47 +09:00
.zuul.d Merge "Drop Django 2.2 support" 2022-01-15 08:36:43 +00:00
doc Create Horizon session control logic 2022-02-28 23:48:47 +09:00
horizon Create Horizon session control logic 2022-02-28 23:48:47 +09:00
openstack_auth Imported Translations from Zanata 2022-02-22 03:02:39 +00:00
openstack_dashboard Create Horizon session control logic 2022-02-28 23:48:47 +09:00
playbooks Fix ironic-ui cross job 2020-09-10 06:10:38 +00:00
releasenotes Create Horizon session control logic 2022-02-28 23:48:47 +09:00
roles Improve integration tests logging 2020-09-04 12:46:17 +03:00
tools Fix coverage job 2020-10-05 15:32:06 +09:00
.eslintignore bump eslint version to 1.10.3 2016-03-31 14:06:45 +00:00
.eslintrc Update ESLint devDependencies in package.json 2020-12-16 12:20:10 -06:00
.gitignore [cleanup] Remove unused file refernce from .gitignore file 2020-12-08 08:57:46 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:37:19 +00:00
.mailmap Update my mailmap 2013-10-25 14:49:23 +08:00
.pylintrc Use python3-style super() 2020-10-15 14:37:20 +09:00
CONTRIBUTING.rst [ussuri] [goal] Project PTL and contributor docs 2020-08-20 08:34:11 +09:00
HACKING.rst Update the documentation link for doc migration 2017-08-04 18:38:25 +00:00
LICENSE Initial commit 2011-01-12 13:43:31 -08:00
MANIFEST.in Update MANIFEST for dashboard config 2020-06-08 15:06:58 +02:00
README.rst Add release notes link in README 2018-07-10 14:45:26 +07:00
babel-django.cfg Drop babel extractor definitions from babel config 2019-12-23 17:25:38 +09:00
babel-djangojs.cfg Drop babel extractor definitions from babel config 2019-12-23 17:25:38 +09:00
bindep.txt Fix video recording for integration tests 2020-04-09 09:20:04 +00:00
lower-constraints.txt Drop Django 2.2 support 2022-01-05 19:26:56 +00:00
manage.py hacking: noqa cleanup in horizon 2017-03-17 19:38:47 +00:00
package.json Update devDependencies in package.json 2020-12-17 12:21:31 -06:00
plugin-registry.csv Remove retired karbor-dashboard usage 2020-12-15 16:04:11 -08:00
reno.yaml Tell reno to ignore the kilo branch 2020-03-23 13:18:58 +00:00
requirements.txt Drop Django 2.2 support 2022-01-05 19:26:56 +00:00
setup.cfg Updating python testing as per Yoga testing runtime 2021-12-15 13:06:16 +05:30
setup.py Updated from global requirements 2017-05-30 13:34:43 +00:00
test-requirements.txt Move linters dependencies to tox.ini 2021-03-19 11:25:28 +09:00
test-shim.js Add Apache 2.0 license to source file 2016-12-02 17:40:28 +07:00
tox.ini Integration tests: Allow to run a specific test from tox 2022-02-16 19:19:34 +09:00

README.rst

Horizon (OpenStack Dashboard)

Horizon is a Django-based project aimed at providing a complete OpenStack Dashboard along with an extensible framework for building new dashboards from reusable components. The openstack_dashboard module is a reference implementation of a Django site that uses the horizon app to provide web-based interactions with the various OpenStack projects.

image

Using Horizon

See doc/source/install/index.rst about how to install Horizon in your OpenStack setup. It describes the example steps and has pointers for more detailed settings and configurations.

It is also available at Installation Guide.

Getting Started for Developers

doc/source/quickstart.rst or Quickstart Guide describes how to setup Horizon development environment and start development.

Building Contributor Documentation

This documentation is written by contributors, for contributors.

The source is maintained in the doc/source directory using reStructuredText and built by Sphinx

To build the docs, use:

$ tox -e docs

Results are in the doc/build/html directory