diff --git a/core/modules/user/src/Controller/UserController.php b/core/modules/user/src/Controller/UserController.php index 263ef62..c27e3c9 100644 --- a/core/modules/user/src/Controller/UserController.php +++ b/core/modules/user/src/Controller/UserController.php @@ -26,18 +26,20 @@ class UserController extends ControllerBase { * @param \Symfony\Component\HttpFoundation\Request $request * The current request. * - * @return \Symfony\Component\HttpFoundation\RedirectResponse - * Returns either a redirect to the user page (if the user is authenticated) - * or a redirect to the login page. + * @return \Symfony\Component\HttpFoundation\RedirectResponse|array + * Returns either a redirect to the user page or the render + * array of the login form. */ public function userPage(Request $request) { - $user_id = $this->currentUser()->id(); - if ($user_id) { - return $this->redirect('user.view', array('user' => $user_id)); + $user = $this->currentUser(); + if ($user->id()) { + $response = $this->redirect('user.view', array('user' => $user->id())); } else { - return $this->redirect('user.login'); + $form_builder = $this->formBuilder(); + $response = $form_builder->getForm('Drupal\user\Form\UserLoginForm'); } + return $response; } /** diff --git a/core/modules/user/src/EventSubscriber/MaintenanceModeSubscriber.php b/core/modules/user/src/EventSubscriber/MaintenanceModeSubscriber.php index 8d944b3..9cd445a 100644 --- a/core/modules/user/src/EventSubscriber/MaintenanceModeSubscriber.php +++ b/core/modules/user/src/EventSubscriber/MaintenanceModeSubscriber.php @@ -42,8 +42,12 @@ public function onKernelRequestMaintenance(GetResponseEvent $event) { if ($user->isAnonymous()) { switch ($route_name) { - case 'user.login': case 'user.page': + // Forward anonymous user to login page. + $event->setResponse(new RedirectResponse(url('user/login', array('absolute' => TRUE)))); + return; + + case 'user.login': case 'user.pass': case 'user.reset': // Disable offline mode.