Neos\Neos\Service\BackendRedirectionService::getAfterLogoutRedirectionUri PHP Method

getAfterLogoutRedirectionUri() public method

In case of NULL, it's the responsibility of the AuthenticationController where to redirect, most likely to the LoginController's index action.
public getAfterLogoutRedirectionUri ( ActionRequest $actionRequest ) : string
$actionRequest Neos\Flow\Mvc\ActionRequest
return string A possible redirection URI, if any
    public function getAfterLogoutRedirectionUri(ActionRequest $actionRequest)
    {
        $lastVisitedNode = $this->getLastVisitedNode('live');
        if ($lastVisitedNode === null) {
            return null;
        }
        $uriBuilder = new UriBuilder();
        $uriBuilder->setRequest($actionRequest);
        $uriBuilder->setFormat('html');
        $uriBuilder->setCreateAbsoluteUri(true);
        return $uriBuilder->uriFor('show', array('node' => $lastVisitedNode), 'Frontend\\Node', 'Neos.Neos');
    }

Usage Example

 /**
  * Logs out a - possibly - currently logged in account.
  * The possible redirection URI is queried from the redirection service
  * at first, before the actual logout takes place, and the session gets destroyed.
  *
  * @return void
  */
 public function logoutAction()
 {
     $possibleRedirectionUri = $this->backendRedirectionService->getAfterLogoutRedirectionUri($this->request);
     parent::logoutAction();
     switch ($this->request->getFormat()) {
         case 'json':
             $this->view->assign('value', array('success' => true));
             break;
         default:
             if ($possibleRedirectionUri !== null) {
                 $this->redirectToUri($possibleRedirectionUri);
             }
             $this->addFlashMessage('Successfully logged out', 'Logged out', Message::SEVERITY_NOTICE, array(), 1318421560);
             $this->redirect('index');
     }
 }