Có thể đôi khi thời gian phiên quản trị viên hoạt động quá ngắn.
Làm cách nào để thay đổi thời gian cần thiết để tự động đăng xuất người dùng từ back-end?
Có thể đôi khi thời gian phiên quản trị viên hoạt động quá ngắn.
Làm cách nào để thay đổi thời gian cần thiết để tự động đăng xuất người dùng từ back-end?
Câu trả lời:
Có một mục menu cho điều này trong:
Hệ thống> Cấu hình> Nâng cao> Quản trị viên> Bảo mật> Thời gian phiên (Giây)
Đồng thời kiểm tra các biến môi trường php
<seconds>
<seconds>
Để đảm bảo rằng bạn đang chỉnh sửa php.ini chính xác, hãy tạo một tệp "check.php" đơn giản với nội dung sau:
<?php
phpinfo();
?>
, đặt tệp trong thư mục nhà magento của bạn, gọi nó từ trình duyệt của bạn (URL / check.php) và kiểm tra các cài đặt này.
Để biết thêm thông tin xem tại đây .
Đối với Magento 2, nó có thể được tìm thấy trong Bảng điều khiển bên trái trên Quản trị viên.
Cửa hàng> Cấu hình> Nâng cao> Quản trị> Bảo mật
Admin Session Lifetime
(giây) tùy chọn trong cửa sổ chính.
Giá trị mặc định là 900 cho Magento 2. Trong 1 giờ được đặt thành 3600
(60 giây * 60 phút).
Bạn phải định cấu hình này trên "Cấu hình mặc định" thay vì chọn trang web hoặc chế độ xem cửa hàng cho tùy chọn xem cửa hàng của bạn. Tôi đã cố gắng sử dụng nó trên chế độ xem cửa hàng thông qua menu thả xuống ở trên cùng bên trái và tùy chọn không có ở đó. Nó có ý nghĩa vì nó là một cấu hình quản trị.
Lưu ý rằng cài đặt này không có bất kỳ ảnh hưởng nào đến tuổi thọ của cookie ít nhất là kể từ Magento 2.1
Một giải pháp đơn giản khác mà không sửa đổi bất kỳ cài đặt nào là cài đặt bất kỳ auto refresh addon
cho trình duyệt của bạn và đặt thời gian của nó (60 giây).
Nó sẽ tự động làm mới trang cứ sau 6o giây, điều này ngăn thời gian tồn tại của phiên hết hạn và chúng ta có thể bắt đầu làm việc trên một tab khác.
Tôi đã sử dụng Easy Auto Refresh
và nó hoạt động tốt cho tôi.
Hệ thống -> Cấu hình -> Chung -> Web -> Quản lý cookie phiên
Cookie trọn đời: Thay đổi giá trị này (ví dụ: 86400).
Vì Magento 2.1, thời gian tồn tại của phiên quản trị viên luôn là "phiên", tức là cho đến khi trình duyệt được đóng. Điều này đã được giới thiệu vì lý do bảo mật.
Mã có liên quan là Magento\Backend\Model\Session\AdminConfig
:
/**
* Set session cookie lifetime to session duration
*
* @return $this
*/
protected function configureCookieLifetime()
{
return $this->setCookieLifetime(0);
}
Nếu bạn muốn thay đổi hành vi này, bạn có thể thêm một plugin cho lớp này bằng phương thức chặn sau:
public function beforeSetCookieLifetime()
{
$lifetime = $this->scopeConfig->getValue(
\Magento\Framework\Session\Config::XML_PATH_COOKIE_LIFETIME,
\Magento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT);
return [$lifetime, \Magento\Framework\Session\Config::COOKIE_LIFETIME_DEFAULT];
}
Trường hợp $this->scopeConfig
nên là một thể hiện của \Magento\Framework\App\Config\ScopeConfigInterface
, được tiêm thông qua tham số hàm tạo.
Bằng cách này, tuổi thọ của cookie được sử dụng từ cấu hình, giống như trong frontend.
Lưu ý rằng cấu hình trong Cửa hàng> Cấu hình> Nâng cao> Bảo mật quản trị viên> Thời gian tồn tại của phiên không còn ảnh hưởng đến cookie nữa! Nó được sử dụng để xác định tuổi thọ phiên Redis, vì vậy nếu bạn tăng tuổi thọ cookie, bạn cũng nên tăng giá trị này.
Sunovisio thực sự cung cấp một tiện ích mở rộng cho phép bạn duy trì phiên quản trị của mình trong khi bạn đang làm việc và độc lập với thời gian chờ phiên của bạn.
Bạn có thể kiểm tra nó ở đó: http : // ec Commerce.sunovisio.com/index.php/admin-keep-alive-1-1-0.html
Hy vọng tiện ích mở rộng này sẽ giúp bạn làm việc với Bảng quản trị Magento của bạn!
Trong MySQL:
bảng: core_config_data
đường dẫn: admin / security / session_lifetime
có, nhưng trước tiên bạn phải đảm bảo rằng vị trí magento và thời gian máy chủ ở cùng múi giờ. cũng đảm bảo không có bất kỳ phiên nào. * ghi đè trong php.ini