1

既存の WebForms アプリケーションがあり、現在、新しい MVC アプリケーションを作成しています。どちらも、同じデータベースを使用して、独自のカスタム プロバイダーを使用して認証します。

同じ資格情報を使用して各アプリケーションに個別に正常にログインできますが、今必要なのはシングル サインオンを実装することです (つまり、ユーザーが既に app1 にログインしている場合、app2 はユーザーの設定を自動的に検出して識別します)。ログインしているとして)。

私は宿題をして、ここ、ここ、ここなどの参考文献読みました。

これまでのところ、次のことを行っています。

  • 両方のサイトで同じ machineKey を設定します。

  • 両方のサイトで同じフォーム認証を設定します。

これらすべてにもかかわらず、私は SSO を機能させることができませんでした。私は「シングル サインオフ」を管理しました。これにより、ユーザーが 1 つのサイトをサインオフすると、他のサイトからもサインオフされます。

足りないものはありますか?

コーディングを行う必要のない、構成のみのソリューションが必要です。

4

1 に答える 1

2

閉鎖のために、私は自分の質問に答えています。

SSO が機能しなかった理由は、メインの既存の Web サイトに独自の Cookie とセッション マネージャーがあり、フォーム認証のルールに従っていないためです。呼び出します

FormsAuthentication.SignOut();

ログイン完了直後。

上記の構成を 3 つの異なる Web サイト、MVC と WebForms の混合、異なるパイプライン (統合とクラシック)、カスタム メンバーシップ プロバイダーで試してみたところ、すべてが素晴らしく機能しました。

したがって、アプリケーションがフォーム認証でおかしなことをしない限り、上で定義した手順はうまくいくはずです。

于 2013-07-08T09:46:17.920 に答える