0

2 つの独立した Web システムがあります (どちらも独立した認証システムを持っています)。ASP.MVC4 のシステムの 1 つ。

参加方法 ... シンプルで使いやすい 1 つの認証/承認システム。

更新: SSO があり、両方の Web アプリがインターネットで分離された異なるネットワークにあるとします。安全な方法でインターネットを介してトークンを送信するための通信を保護する方法は?

4

2 に答える 2

1

SSOを実装する必要があります。同じドメインを使用しているかどうかは次のとおりです。

同じドメイン: フォーム認証 Cookie のドメイン プロパティをルート ドメインに設定し、両方のアプリケーションに同じマシン キーを構成することで、ターゲットの Framework.Net が同じであることを確認するのは非常に簡単です。

クロスドメインSSO はより難しく、多くの手順があります。

  • ユーザーがログオンするためのマスター ドメインをセットアップします。たとえば、logon.com
  • 認証されていないユーザーが 2 つのアプリケーションの一部で保護されたリソースにアクセスしようとすると、認証のためにログオン ドメインにリダイレクトされます。
  • ユーザーが認証され、ログオン ドメインは、ログインしているユーザーのユーザー名を含むセッション識別子を生成します。このセッション ID は、3 つのドメイン間で共有秘密を使用する対称アルゴリズムを使用して暗号化されます。ログオン ドメインは、フォーム認証 Cookie も設定して、ユーザーがそこで既に認証されていることを示します。
  • ログオン ドメインは、セッション識別子を渡して保護されたリソースにリダイレクトします。
  • 保護されたリソースを保持するアプリケーションは、セッション ID を復号化してユーザー名を抽出し、そのドメインにフォーム認証 Cookie を設定します。
  • ユーザーは 2 番目のドメインで保護されたリソースを要求します
  • 彼はまだ認証されていないため、ログオン ドメインにリダイレクトされます。
  • ユーザーはすでにログオン ドメインで認証されており、同じ手法を使用してセッション ID が生成され、返されます。
  • 2 番目のドメインは、セッション識別子を解読してユーザー名を抽出し、2 番目のドメインのフォーム認証 Cookie を発行します。

詳細はこちら

于 2015-11-27T12:24:02.533 に答える