2

システムにログインしているマーチャントがいます。そこから、手動でログインしなくても直接ログインできる何らかの管理トークンを使用して、マーチャントを Magento インスタンスにリンクさせたいと考えています。

表にrp_tokenフィールドadmin_userが表示されていますが、これはパスワードのリセットに関連しているように見えますが、これはおそらく私たちが望んでいるものではありません。

少し検索したところ、関連しているが特に秘密鍵を扱っているこのスレッドが見つかりました(おそらく、これを解決した後に解決する2番目の課題になるでしょう)。

これはコアではサポートされていないと思いますが、それを行うための優れた拡張機能があるのではないでしょうか?

または、そうでない場合、実装するための最良のアプローチは何ですか? おそらく、GET または POST パラメーター (ユーザー名とハッシュ化されたパスワードのハッシュである可能性があります) を調べるためにフックできるイベントがあり、ユーザー名とプレーン テキストに依存する通常の login() メソッドをバイパスできると思います。パスワード。

それは少し危険な気がしますが?何かご意見は?

4

1 に答える 1

1

それは少し危険な気がしますが?何かご意見は?

これは非常に危険ですが、安全に行うことができます。今週末にリリース予定の Magento の管理バーである QuarkBar を開発する際に抱えていた同様の問題について話すことができます。

したがって、バーを表示するには、管理者がログインしていることを確認する必要があります。残念ながら、2 つの別個のセッションがあるため、フロントエンド モジュールでこれを行うのは困難です。それを回避するために、quarkbar_sessionテーブルを作成しました。管理者がログインすると、OpenSSL を使用して安全な暗号キーを保存し、リクエストごとにチェックして Cookie と照合します。一致する場合、管理者は検証されます。

もちろん、管理者がログインしたときに最初にキーを設定したため(オブザーバーイベントです)、あなたが望むものとは少し異なります。しかし、それはあなたを始めるはずです。

ソース (実稼働の準備ができていません。アイデアに使用してください): https://github.com/zschuessler/QuarkBar/tree/master/app/code/community/Zaclee/QuarkBar

また、管理者のバックエンドにアクセスできるように、セキュア キーを保存していることにも注意してください。あなたのリンクの解決策は、それを無効にするように言っています。必要はありません。実装については QuarkBar を確認してください。

于 2012-04-11T15:12:47.527 に答える