diff --git a/netbox/utilities/middleware.py b/netbox/utilities/middleware.py index 4e321ab19..e3d3d4b95 100644 --- a/netbox/utilities/middleware.py +++ b/netbox/utilities/middleware.py @@ -19,9 +19,9 @@ class LoginRequiredMiddleware(object): def __call__(self, request): if LOGIN_REQUIRED and not request.user.is_authenticated: # Redirect unauthenticated requests to the login page. API requests are exempt from redirection as the API - # performs its own authentication. + # performs its own authentication. Also metrics can be read without login. api_path = reverse('api-root') - if not request.path_info.startswith(api_path) and request.path_info != settings.LOGIN_URL: + if not request.path_info.startswith((api_path, '/metrics')) and request.path_info != settings.LOGIN_URL: return HttpResponseRedirect('{}?next={}'.format(settings.LOGIN_URL, request.path_info)) return self.get_response(request)