Remove support for deprecated header X_ROLE
X_ROLE support was deprecated in 2012
(bc0ba55ae6) we are overdue in removing
support for it.
Change-Id: I81d1bb4eb4ac7278c02e3e937f74aeadbd20c0f5
This commit is contained in:
@@ -160,12 +160,5 @@ class NovaKeystoneContext(wsgi.Middleware):
|
|||||||
def _get_roles(self, req):
|
def _get_roles(self, req):
|
||||||
"""Get the list of roles."""
|
"""Get the list of roles."""
|
||||||
|
|
||||||
if 'X_ROLES' in req.headers:
|
|
||||||
roles = req.headers.get('X_ROLES', '')
|
roles = req.headers.get('X_ROLES', '')
|
||||||
else:
|
|
||||||
# Fallback to deprecated role header:
|
|
||||||
roles = req.headers.get('X_ROLE', '')
|
|
||||||
if roles:
|
|
||||||
LOG.warning(_LW("Sourcing roles from deprecated X-Role HTTP "
|
|
||||||
"header"))
|
|
||||||
return [r.strip() for r in roles.split(',')]
|
return [r.strip() for r in roles.split(',')]
|
||||||
|
|||||||
@@ -106,9 +106,7 @@ class TestKeystoneMiddlewareRoles(test.NoDBTestCase):
|
|||||||
self.roles = "pawn, knight, rook"
|
self.roles = "pawn, knight, rook"
|
||||||
|
|
||||||
def test_roles(self):
|
def test_roles(self):
|
||||||
# Test that the newer style role header takes precedence.
|
|
||||||
self.request.headers['X_ROLES'] = 'pawn,knight,rook'
|
self.request.headers['X_ROLES'] = 'pawn,knight,rook'
|
||||||
self.request.headers['X_ROLE'] = 'bad'
|
|
||||||
|
|
||||||
response = self.request.get_response(self.middleware)
|
response = self.request.get_response(self.middleware)
|
||||||
self.assertEqual(response.status, '200 Role Match')
|
self.assertEqual(response.status, '200 Role Match')
|
||||||
@@ -118,18 +116,6 @@ class TestKeystoneMiddlewareRoles(test.NoDBTestCase):
|
|||||||
response = self.request.get_response(self.middleware)
|
response = self.request.get_response(self.middleware)
|
||||||
self.assertEqual(response.status, '200 No Roles')
|
self.assertEqual(response.status, '200 No Roles')
|
||||||
|
|
||||||
def test_deprecated_role(self):
|
|
||||||
# Test fallback to older role header.
|
|
||||||
self.request.headers['X_ROLE'] = 'pawn,knight,rook'
|
|
||||||
|
|
||||||
response = self.request.get_response(self.middleware)
|
|
||||||
self.assertEqual(response.status, '200 Role Match')
|
|
||||||
|
|
||||||
def test_role_empty(self):
|
|
||||||
self.request.headers['X_ROLE'] = ''
|
|
||||||
response = self.request.get_response(self.middleware)
|
|
||||||
self.assertEqual(response.status, '200 No Roles')
|
|
||||||
|
|
||||||
def test_no_role_headers(self):
|
def test_no_role_headers(self):
|
||||||
# Test with no role headers set.
|
# Test with no role headers set.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user