/**
  * Declare headers and content file in response for file download
  *
  * @param string $fileName
  * @param string|array $content set to null to avoid starting output, $contentLength should be set explicitly in
  * that case
  * @param string $baseDir
  * @param string $contentType
  * @param int $contentLength    explicit content length, if strlen($content) isn't applicable
  * @return \Magento\Framework\App\ResponseInterface
  */
 public function create($fileName, $content, $baseDir = DirectoryList::ROOT, $contentType = 'application/octet-stream', $contentLength = null)
 {
     if ($this->_auth->getAuthStorage()->isFirstPageAfterLogin()) {
         return $this->_redirect($this->_backendUrl->getStartupPageUrl());
     }
     return parent::create($fileName, $content, $baseDir, $contentType, $contentLength);
 }
 /**
  * Check url keys. If non valid - redirect
  *
  * @return bool
  */
 public function _processUrlKeys()
 {
     $_isValidFormKey = true;
     $_isValidSecretKey = true;
     $_keyErrorMsg = '';
     if ($this->_auth->isLoggedIn()) {
         if ($this->getRequest()->isPost()) {
             $_isValidFormKey = $this->_formKeyValidator->validate($this->getRequest());
             $_keyErrorMsg = __('Invalid Form Key. Please refresh the page.');
         } elseif ($this->_backendUrl->useSecretKey()) {
             $_isValidSecretKey = $this->_validateSecretKey();
             $_keyErrorMsg = __('You entered an invalid Secret Key. Please refresh the page.');
         }
     }
     if (!$_isValidFormKey || !$_isValidSecretKey) {
         $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
         $this->_actionFlag->set('', self::FLAG_NO_POST_DISPATCH, true);
         if ($this->getRequest()->getQuery('isAjax', false) || $this->getRequest()->getQuery('ajax', false)) {
             $this->getResponse()->representJson($this->_objectManager->get('Magento\\Framework\\Json\\Helper\\Data')->jsonEncode(['error' => true, 'message' => $_keyErrorMsg]));
         } else {
             $this->_redirect($this->_backendUrl->getStartupPageUrl());
         }
         return false;
     }
     return true;
 }