2

我们有商家登录到一个系统,我们希望通过某种管理令牌将他们链接到我们的 Magento 实例,这样他们就可以直接登录,而无需手动登录。

我看到表rp_token中的字段,admin_user但这似乎与密码重置有关,这可能不是我们想要的。

做了一些搜索,找到了这个相关但专门处理密钥的线程(这可能是我在解决这个问题后要解决的第二个挑战)。

我猜这在核心中不受支持,但也许有一个很好的扩展可以做到这一点?

或者如果没有,最好的实施方法是什么?我猜可能有一个事件我可以查看 GET 或 POST 参数(可能是用户名和哈希密码的哈希),然后绕过依赖用户名和纯文本的正常 login() 方法密码。

感觉这可能有点冒险?有什么想法吗?

4

1 回答 1

1

感觉这可能有点冒险?有什么想法吗?

这是非常危险的,但可以安全地完成。我可以谈谈我在开发 QuarkBar 时遇到的类似问题,QuarkBar 是一个将于本周末发布的 Magento 管理栏。

因此,要显示该栏,我需要验证管理员是否已登录。不幸的是,这在前端模块上很难做到,因为有两个单独的会话。所以为了解决这个问题,我创建了一个quarkbar_session表。管理员登录后,我使用 OpenSSL 存储安全加密密钥,然后检查每个请求并将其与 cookie 匹配。如果匹配,则验证管理员。

当然,这与您想要的有点不同,因为我在管理员登录时首先设置了密钥(这是一个观察者事件)。但它应该让你开始。

来源(未准备好用于生产,将其用于创意):https ://github.com/zschuessler/QuarkBar/tree/master/app/code/community/Zaclee/QuarkBar

另外,请注意我正在存储安全密钥,以便我可以访问管理后端。您链接中的解决方案说禁用它。您不必这样做,请查看 QuarkBar 的实施。

于 2012-04-11T15:12:47.527 回答