Ich habe festgestellt, dass in der Klasse \Magento\Backend\App\AbstractAction
(dem Vorfahren jeder Admin-Controller-Aktion) ein Mitglied namens aufgerufen _publicActions
wird, das bei der Validierung des geheimen Schlüssels wie folgt verwendet wird:
if (is_array($this->_publicActions) && in_array($this->getRequest()->getActionName(), $this->_publicActions)) {
return true;
}
Dies bedeutet, dass Sie, wenn ein bestimmter Aktionsname in aufgeführt _publicActions
ist, ohne den geheimen Schlüssel in der URL auf die Aktion zugreifen können.
Dies ist ein Segen für die Entwicklung und das Debuggen, da Sie dies einfach ROOT/admin/module/controller/action
manuell tun können , ohne den geheimen Administratorschlüssel kennen zu müssen. Ich verstehe jedoch nicht, warum ich ohne den geheimen Schlüssel auf die Produktbearbeitungsseite zugreifen kann.
Rufen Sie einfach eine Produktbearbeitungsseite wie diese auf ROOT/admin/catalog/product/edit/id/{product_id_here}
.
Das publicActions
Mitglied wird für Bestellungen (die Indexierung und Anzeige ermöglichen), in Produkten (zur Bearbeitung) und im Redirect-Controller für Weiterleitungen überschrieben.
Nun meine Frage:
Warum sind nur einige Bearbeitungsaktionen ohne den geheimen Schlüssel zulässig und wann / was sollte ich in meinen benutzerdefinierten CRUD-Modulen ohne den geheimen Schlüssel zulassen?