From e18b36e5a9587f45e9291d77453480fcba985798 Mon Sep 17 00:00:00 2001 From: Antoine Eiche Date: Tue, 16 Feb 2016 12:47:46 +0100 Subject: [PATCH] Add vnc_api method set_user_roles This allows to manually set the roles of the user in the HTTP header. Change-Id: Ifdf28ce18de55b3bed3e59de56de415da1839c2f Partial-Bug: 1546057 --- src/api-lib/vnc_api.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/api-lib/vnc_api.py b/src/api-lib/vnc_api.py index b82a6c946d5..28cc39dbb09 100644 --- a/src/api-lib/vnc_api.py +++ b/src/api-lib/vnc_api.py @@ -308,7 +308,7 @@ def __init__(self, username=None, password=None, tenant_name=None, if 'user' in self._user_info: self._headers['X-API-USER'] = self._user_info['user'] if 'role' in self._user_info: - self._headers['X-API-ROLE'] = self._user_info['role'] + self.set_user_roles([self._user_info['role']]) #self._http = HTTPClient(self._web_host, self._web_port, # network_timeout = 300) @@ -1138,4 +1138,12 @@ def set_auth_token(self, token): self._headers['X-AUTH-TOKEN'] = token #end set_auth_token + def set_user_roles(self, roles): + """Park user roles for forwarding to API server for RBAC. + + :param roles: list of roles + """ + self._headers['X-API-ROLE'] = (',').join(roles) + #end set_user_roles + #end class VncApi