Saya telah menemukan bahwa di kelas \Magento\Backend\App\AbstractAction
(leluhur dari setiap tindakan pengontrol admin) ada anggota yang disebut _publicActions
yang digunakan dalam validasi kunci rahasia seperti ini:
if (is_array($this->_publicActions) && in_array($this->getRequest()->getActionName(), $this->_publicActions)) {
return true;
}
Ini berarti, bahwa jika nama tindakan tertentu tercantum dalam _publicActions
Anda dapat mengakses tindakan tanpa kunci rahasia di url.
Ini adalah berkah untuk pengembangan dan debugging, karena Anda bisa melakukannya seperti ROOT/admin/module/controller/action
secara manual, tanpa perlu mengetahui kunci admin rahasia, tetapi yang saya tidak mengerti adalah mengapa saya bisa mengakses halaman edit produk tanpa kunci rahasia.
Panggil saja halaman edit produk seperti ini ROOT/admin/catalog/product/edit/id/{product_id_here}
.
The publicActions
anggota ditimpa untuk pesanan (yang memungkinkan indeks dan melihat), dalam produk (untuk edit) dan di redirect controller untuk pengalihan.
Sekarang pertanyaan saya:
Mengapa hanya beberapa tindakan edit diizinkan tanpa kunci rahasia, dan kapan / apa yang harus saya izinkan dalam modul CRUD khusus saya tanpa kunci rahasia?