为啥 Magento 管理操作重定向到管理仪表板?

Posted

技术标签:

【中文标题】为啥 Magento 管理操作重定向到管理仪表板?【英文标题】:Why Magento admin action redirect to admin Dashboard?为什么 Magento 管理操作重定向到管理仪表板? 【发布时间】:2022-01-23 11:54:35 【问题描述】:

我正在尝试更改管理员 route.xml 中的请求 url 值。当我使用 vendor_module 作为 frontName 它工作正常。但是当我尝试在管理路由中使用 module 作为 frontName 时,它​​不起作用。

供应商/模块名称/etc/adminhtml/route.xml

之前

<router id="admin">
    <route id="vendor_module" frontName="vendor_module">
        <module name="Vendor_ModuleName" />
    </route>
</router>

之后

当我使用下面的代码作为管理路由时,它对我不起作用。就像我尝试访问 url module/template/edit 然后将其重定向到管理仪表板页面。

<router id="admin">
    <route id="vendor_module" frontName="module">
        <module name="Vendor_ModuleName" />
    </route>
</router>

注意:我想在不关闭 Admin > Store > Configuration > Advanced > Admin > Security > Add Secret Key to URLs 的情况下使用它

【问题讨论】:

【参考方案1】:

route.xml 文件中的 id 和 front name 必须相互同步。如果您设置不同,它不会知道您使用的 URL,因此会将您重定向到管理员的主页。

【讨论】:

那么为什么在下面的路径设置NO时它会起作用?管理员 > 商店 > 配置 > 高级 > 管理员 > 安全 > 将密钥添加到 URL【参考方案2】:

对于字段:Add Secret Key to URLs,该字段的主要作用是secret Key,用于防止CSRF(Cross-site request forgery)攻击(最实际的例子就是你的例子)。这是一个已由 Magento 修复的安全漏洞。如果禁用此字段,您的管理页面将很容易受到攻击

跨站请求伪造,也称为一键式攻击或会话骑乘,缩写为 CSRF(有时发音为 sea-surf[1])或 XSRF,是一种对网站的恶意利用,未经授权的命令被从网站信任的用户传输。[2]与利用用户对特定站点的信任的跨站点脚本 (XSS) 不同,CSRF 利用站点在用户浏览器中的信任。 我建议启用此选项。

【讨论】:

好的,感谢您的宝贵时间。选项是启用,但这不是我的问题的答案。我只想知道如果我更改字体名称那为什么它不起作用?

以上是关于为啥 Magento 管理操作重定向到管理仪表板?的主要内容,如果未能解决你的问题,请参考以下文章

Magento - URL 重写或重定向问题

Magento 重定向问题

text 重定向管理仪表板页面

将访客重定向到新网址,但不包括图片和管理员

从同一登录页面使用其用户角色将用户重定向到仪表板

Wordpress登录页面重定向到普通用户的Woocommerce我的帐户页面