]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: load and cofigure authorization system
authorRicardo Dias <rdias@suse.com>
Fri, 20 Apr 2018 15:37:11 +0000 (16:37 +0100)
committerRicardo Dias <rdias@suse.com>
Tue, 26 Jun 2018 11:28:53 +0000 (12:28 +0100)
Signed-off-by: Ricardo Dias <rdias@suse.com>
src/pybind/mgr/dashboard/module.py
src/pybind/mgr/dashboard/tests/helper.py

index cd91d2a1a2ef3e9eff3dbb6b895b1e8592cd9980..cb2baa3a7eb5cbabecd445d201d85735e760b2fe 100644 (file)
@@ -61,6 +61,9 @@ from .controllers import generate_routes, json_error_page
 from .controllers.auth import Auth
 from .tools import SessionExpireAtBrowserCloseTool, NotificationQueue, \
                    RequestLoggingTool, TaskManager
+from .services.auth import AuthManager
+from .services.access_control import ACCESS_CONTROL_COMMANDS, \
+                                     handle_access_control_command
 from .services.exception import dashboard_exception_handler
 from .settings import options_command_list, options_schema_list, \
                       handle_option_command
@@ -227,6 +230,7 @@ class Module(MgrModule, SSLCherryPyConfig):
         },
     ]
     COMMANDS.extend(options_command_list())
+    COMMANDS.extend(ACCESS_CONTROL_COMMANDS)
 
     OPTIONS = [
         {'name': 'server_addr'},
@@ -268,6 +272,8 @@ class Module(MgrModule, SSLCherryPyConfig):
         if 'COVERAGE_ENABLED' in os.environ:
             _cov.start()
 
+        AuthManager.initialize()
+
         uri = self.await_configuration()
         if uri is None:
             # We were shut down while waiting
@@ -314,6 +320,9 @@ class Module(MgrModule, SSLCherryPyConfig):
 
     def handle_command(self, inbuf, cmd):
         res = handle_option_command(cmd)
+        if res[0] != -errno.ENOSYS:
+            return res
+        res = handle_access_control_command(cmd)
         if res[0] != -errno.ENOSYS:
             return res
         if cmd['prefix'] == 'dashboard set-login-credentials':
index e98a770c621635b622de56c44ed9050af501bf1f..6b578a08713edb147f4ce0b63a52ca4b96b60842 100644 (file)
@@ -11,8 +11,8 @@ from cherrypy._cptools import HandlerWrapperTool
 from cherrypy.test import helper
 
 from .. import logger
-from ..controllers.auth import Auth
 from ..controllers import json_error_page, generate_controller_routes
+from ..controllers.auth import Auth
 from ..services.exception import dashboard_exception_handler
 from ..tools import SessionExpireAtBrowserCloseTool