こんにちは私は自分のasp.netサイト(ChildSiteと呼ばれる)でFederatedPassiveSignInControlを使用して、別のasp.netサイト(ParentSiteと呼ばれる)にセットアップされたSTSからユーザーIDを取得しています。私のサイト(ChildSite)の認証はFormsAuthenticationに設定されているため、FederatedPassiveSignInControlはChildSiteのフォーム認証ログインページにあります。
2つのシナリオがあります。最初に、ユーザーはParentSiteにログインし、ParentSiteのリンクを介してChildSiteに進みます。2番目に、ユーザーは直接ChildSiteにアクセスし、ChildSiteにログインします。
シナリオ1:
- ユーザーがブラウザでParentSiteを開きます
- ユーザーがParentSiteにログインします
- ParentSiteは、ブラウザにChildSiteへのリンクを表示します
- ユーザーがChildSiteへのリンクをクリックする
- ユーザーが子サイトにアクセスします
ここで、ユーザーはログインページにアクセスします。望ましい動作は、ユーザーがすでにParentSiteにサインインしているため、ChildSiteで要求されたURLにシームレスにリダイレクトされることです。
代わりに、ログインページが表示され、ユーザーはFedratedPassiveSigninControlボタンをクリックしてIDを取得し、リダイレクトする必要があります。FedratedPassiveSigninControlプロパティautosignin="true"を設定できません。ログインしていないときは常にユーザーをParentSiteにリダイレクトし、シナリオ2に違反します。
FedratedPassiveSigninControlを表示せず、要求されたページにユーザーを転送するだけで、ユーザーがすでにログインしていることを検出する方法、またはFederatedPassiveSignin Control(または他のWIFコンポーネント)を取得する方法を知りたいです。
シナリオ2:
- ユーザーがブラウザでChildSiteを開きます
- ユーザーはChildSiteのテキスト入力にクレデンシャルを入力し、[ログイン]をクリックします。
- ChildSiteで要求されたページが表示されます。
ここで何かが足りませんか?
乾杯、モルト