嗨,我在我的 asp.net 站点(称为 ChildSite)上使用 FederatedPassiveSignInControl 从另一个 asp.net 站点(称为 ParentSite)上设置的 STS 获取用户身份。我的站点 (ChildSite) 的身份验证设置为 FormsAuthentication,因此 FederatedPassiveSignInControl 位于 ChildSite 的表单身份验证登录页面上。
我有2个场景。首先,用户登录到 ParentSite 并通过 ParentSite 中的链接继续访问 ChildSite。在第二个用户直接进入 ChildSite 并登录到 ChildSite:
场景一:
- 用户在浏览器中打开ParentSite
- 用户登录到 ParentSite
- ParentSite 在浏览器中显示指向 ChildSite 的链接
- 用户点击指向 ChildSite 的链接
- 用户转到子站点
在这里,用户来到登录页面。想要的行为是用户已在 ParentSite 登录,因此被无缝重定向到 ChildSite 上请求的 URL。
而是显示登录页面,用户必须单击 FedratedPassiveSigninControl 按钮来检索他的身份,然后被重定向。我无法设置 FedratedPassiveSigninControl 属性 autosignin="true"。它总是在未登录时将用户重定向到 ParentSite,这会破坏场景 2。
我想知道我如何检测,或者我如何让 FederatedPassiveSignin Control(或其他 WIF 组件)检测到用户已经登录,不显示 FedratedPassiveSigninControl 并且只是将用户转发到他请求的页面。
场景二:
- 用户在浏览器中打开ChildSite
- 用户在 ChildSite 的文本输入中输入凭据并单击登录。
- 显示 ChildSite 请求的页面。
我在这里错过了什么吗?
干杯,死