0

app-A と app-B の 2 つの Web アプリケーションがあります (両方とも異なるサーバーでホストされます)。ここで、app-A の特定のイベントについて、app-B に URL を呼び出して、app-B が何らかの処理を行えるようにする必要があります。app-A 内では、ユーザーを承認するためにログイン/ログアウトを行っています。したがって、app-A ではすべてが安全です。

しかし、URL が誰かに公開された場合、彼らは私の app-B で遊ぶことができます。では、リクエストが app-A の承認されたユーザーからのものであることを app-B で検証するにはどうすればよいですか?

Java (Spring MVC) を使用しています。お時間をいただきありがとうございます。

アップデート :

  • app-A と app-B の両方がホストされ、公開されます。
  • app-A と app-B は、データベースとログイン メカニズムに異なるユーザー (テーブル) のセットを持っています。
  • シナリオは app-A を使用して管理者がログインし、何らかのアクティビティを実行します。これにより、app-B の保護されていない URL への呼び出しが開始されます。問題は、外部ユーザーからではなく、app-A の管理者のみから呼び出しが行われていることを app-B で確認するにはどうすればよいかということです。
4

2 に答える 2

0

CASが良いものであるように、シングルサインオンサーバーが必要です。

于 2012-08-01T11:38:51.353 に答える
0

要求を指定し、いくつかのカスタム テキスト (セッション ID など) と、両方のアプリケーションで共有される秘密鍵で署名されたこのテキストのデジタル署名を含むリンクを作成する必要があります。app-B は署名を検証し、パスした場合はリクエストを発行できます。

[編集]: 渡すトークンの有効期間は限られている必要があることを覚えておく必要があります。そうしないと、誰かがリンクを見つけた場合、後でそれを使用できるようになります。したがって、「カスタム テキスト」(上記) にトークン作成の日付と時刻を追加し、app-B が 5 分以上前に作成されたリクエストを発行しないようにすることができます。

于 2012-08-01T11:53:10.267 に答える