LogoutAll.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Security\Controller\Adminhtml\Session;
  7. use Magento\Backend\App\Action\Context;
  8. use Magento\Security\Model\AdminSessionsManager;
  9. /**
  10. * Admin session logout all
  11. */
  12. class LogoutAll extends \Magento\Backend\App\Action
  13. {
  14. /**
  15. * @var AdminSessionsManager
  16. */
  17. protected $sessionsManager;
  18. /**
  19. * Check constructor.
  20. * @param Context $context
  21. * @param AdminSessionsManager $sessionsManager
  22. */
  23. public function __construct(
  24. Context $context,
  25. AdminSessionsManager $sessionsManager
  26. ) {
  27. parent::__construct($context);
  28. $this->sessionsManager = $sessionsManager;
  29. }
  30. /**
  31. * @return void
  32. */
  33. public function execute()
  34. {
  35. try {
  36. $this->sessionsManager->logoutOtherUserSessions();
  37. $this->messageManager->addSuccessMessage(__('All other open sessions for this account were terminated.'));
  38. } catch (\Magento\Framework\Exception\LocalizedException $e) {
  39. $this->messageManager->addErrorMessage($e->getMessage());
  40. } catch (\Exception $e) {
  41. $this->messageManager->addExceptionMessage($e, __("We couldn't logout because of an error."));
  42. }
  43. $this->_redirect('*/*/activity');
  44. }
  45. }