123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Backend\Model\Config\SessionLifetime;
- use Magento\Framework\App\Config\Value;
- use Magento\Framework\Exception\LocalizedException;
- /**
- * Backend model for the admin/security/session_lifetime configuration field. Validates session lifetime.
- * @api
- * @since 100.1.0
- */
- class BackendModel extends Value
- {
- /** Maximum admin session lifetime; 1 year*/
- const MAX_LIFETIME = 31536000;
- /** Minimum admin session lifetime */
- const MIN_LIFETIME = 60;
- /**
- * Processing object before save data
- *
- * @since 100.1.0
- * @throws LocalizedException
- */
- public function beforeSave()
- {
- $value = (int)$this->getValue();
- if ($value > self::MAX_LIFETIME) {
- throw new LocalizedException(
- __(
- 'The Admin session lifetime is invalid. '
- . 'Set the lifetime to 31536000 seconds (one year) or shorter and try again.'
- )
- );
- } elseif ($value < self::MIN_LIFETIME) {
- throw new LocalizedException(
- __('The Admin session lifetime is invalid. Set the lifetime to 60 seconds or longer and try again.')
- );
- }
- return parent::beforeSave();
- }
- }
|