0

デフォルトの Web サイトには、2 つの asp.net Web アプリケーション App1 と App2 があります。両方とも、ユーザー ログインのユーザー名とパスワードが SQL データベースのユーザー テーブルで検証されるときに同じログイン コントロールを持ちます。ログインしたユーザー情報は 3 つのセッション変数に格納されます。ログイン後、app1 は profile.aspx にリダイレクトされ、app2 は dashboard.aspx にリダイレクトされます。profile.aspx にはリンク app2 があり、dashboard.aspx にはリンク app1 があります。ユーザーがリンクをクリックすると、そのアプリケーションにすでにログインしているはずです。ユーザーがいずれかのアプリケーションからログアウトすると、両方のアプリケーションからログアウトする必要があります。

上記の sso 機能を App1 と App2 に配置する方法

4

3 に答える 3

0

WindowsIdentityFoundationをご覧になることをお勧めします。

于 2012-12-28T19:01:48.063 に答える
0

アプリケーションは同じドメインに配置されますか? その場合は、アプリ 2 のフォーム認証をアプリ 1 に設定するか、その逆に設定するだけでよく、両方のアプリケーションに同じマシン キーが指定されていることを確認してください。この記事では、サブドメインで SSO を実装する方法について詳しく説明しています: http://www.codeproject.com/Articles/27576/Single-Sign-on-in-ASP-NET-and-Other-Platforms

于 2012-12-28T20:14:45.113 に答える
0

アプリケーションでフォーム認証が使用されていると想定しています。フォーム認証は、結果として生じるユーザー要求を検証するための認証チケットを生成し、「マシン キー」を使用して認証チケットに署名します。すべてのアプリケーションで同じマシン キーを使用すると、問題が解決します。ただし、統合する必要があるアプリケーションの範囲に応じて、考慮すべきさまざまなシナリオがあります。

  1. 同じドメイン内の仮想ディレクトリとして構成
  2. サブドメインとして設定
  3. 完全に 2 つの異なるサイト

1 と 2 は、web.config で同じマシン キーを指定することで解決できます。

3 には、クエリ文字列を介して暗号化されたパラメーターを渡すなどのカスタム ソリューションが必要です。

マシン キーの詳細については、こちらを参照してください

于 2012-12-28T20:29:18.437 に答える