10

概念実証として、マイクロサービスの E コマース システムを開発する予定です。このアーキテクチャは、次の 3 つのコンポーネントで構成されています。

  • AJAXリクエストをに送信するJavaScriptベースのシングルページアプリケーション

  • 他のサービスを呼び出して受け取った JSON データをフィードする REST API を備えたサーバー (API ゲートウェイ)

  • 3 つのサービス: CatalogProvider、CustomersProvider、CheckoutProvider

今のところ、サービスはすべて Magento Shopsystem の API エンドポイントです。

REST Apiにリクエストを送信してMagentoシステムにユーザーをログインさせようとすると、サーバーは次のリクエストを送信するときにセッションを覚えていません。

また、Magento を使用してサーバー側でショッピング カートを処理し、REST Api 呼び出しによってアイテムを追加/更新/削除します。ここでも、セッションが失われたため、次のリクエストを送信すると追加されたアイテムが失われます。

だから私の質問は:

マイクロサービス アーキテクチャでのセッション処理に関する問題を解決するには、どのようなアプローチが考えられますか?

4

4 に答える 4

0

ユーザーの状態をテーブルに維持できます。

ユーザーがログインすると、一意の ID が 1 つ作成され、現在のタイム スタンプとクライアント IP を含むテーブルに保存されます。クライアント側では、キーと値のペアが作成され、Cookie に保存されます。セッションとしてご利用ください。

ユーザーの存在を確認することがたくさんあります。

于 2015-03-02T12:21:25.063 に答える
0

schgoni(magentoの所有者)のプロジェクトであるjvoidを使用している場合、セッションIDを作成してmysql内に保存し、すでにSpringセキュリティモジュールを組み込んでいます

マイクロサービス認証の場合、oauth2 ベースのセキュリティ アーキテクチャの方が優れていると思います。残りの呼び出しで oauth トークンを使用すると、認証の問題が解決します

于 2015-08-28T10:45:09.813 に答える