我有基于表单身份验证的现有应用程序。我想在我的应用程序中启用可选的单点登录。我想在其他登录页面(login_sso.aspx)上创建,它将使用STS对用户进行身份验证,如果用户成功通过身份验证,那么它将创建一个表单身份验证cookie,使应用程序的其余部分在不做任何更改的情况下工作。在我的观众中,我将使用login_sso.aspx页面
<audienceUris>
<add value="https://www.myapp.com/login_sso.aspx" />
</audienceUris>
为此我必须保持身份验证模式=“无”,但然后我的原始登录页面将无法工作,如果我保持身份验证模式=“表单”,那么我的login_sso.aspx将不会重定向到STS。仅当我将身份验证模式设置为“无”时才有效。
这有什么工作吗?我可以保持我的身份验证模式=“表单”,仍然使用STS(仅适用于login_sso.aspx)
答案 0 :(得分:2)
有很多解决方案。有一点需要考虑的是“可选SSO”的含义。如果你的意思是你的应用程序现在将接受来自第三方提供商(客户的STS或LiveID或Google ID)的身份,以及您自己的用户名/密码;然后最干净,最优雅的方法是:
1比较容易。对于#2,您需要获得STS。根据您托管的位置,您可以使用ADFS(v2)等现成的STS,或者您可能需要自定义STS(例如CodePlex上的IdentityServer)
不太优雅(且未来证明不足)的解决方案可能需要对WIF进行一些编程操作(如this post中所述)。
顺便说一句,“受众群体URI”不是您应用的网址。它旨在识别STS发布的令牌的消费者。