混合模式联合身份验证和表单身份验证

Posted

技术标签:

【中文标题】混合模式联合身份验证和表单身份验证【英文标题】:Mixed Mode Federated authentication and Forms Authentication 【发布时间】:2012-10-23 04:15:37 【问题描述】:

我正在尝试进行混合模式身份验证,以便能够将一些用户置于联合身份验证中,而将其他用户置于 Forms 身份验证中。

我正在使用 WIF,我设置了我的 STS,一切都很顺利,当我处于联合模式时,通过这种方式关闭所有身份验证:

<authorization>
    <deny users="?" />
</authorization>
<authentication mode="None" />

我登录到我的主应用程序,然后当我登录到我的侧应用程序时,它会让我静默登录,因为会话 cookie 已经生成并且用户已经过身份验证。

但是当我使用表单身份验证时,当我登录到我的侧面应用程序时,它会将我带到我理解的登录页面,因为用户未经过身份验证,但似乎即使拥有会话 cookie,它也不会静默重定向它.

我知道我需要将 onEndRequest 重定向到 STS 以对用户进行身份验证,如果用户已经通过身份验证,那么它将生成 FedAuth cookie 并且它会以静默方式登录,

有人知道如何实现这个吗,我研究的时候没有找到相关的资源。

【问题讨论】:

我现在正在尝试做类似的事情。这个阿拉好运吗? 看看这篇博文:(leastprivilege.com/2012/02/02/…),更多详情请看下一篇。 看起来与 WIF 类似,现在是 .net 4.5 的一部分,有什么完美的解决方案吗? 我发现了这个:magenic.com/Blog/Post/39/… 【参考方案1】:

对于所有需要在 asp.net 应用程序中设置联合用户身份验证的人,以下链接可能非常有用:http://blog.elis-co.com/wif-sso-and-forms-authentication-in-asp-net/

上面链接中包含在配置中的 http 模块也已过时。因此,请使用以下文章中的更正它们:https://docs.microsoft.com/en-us/dotnet/framework/security/how-to-build-claims-aware-aspnet-web-forms-app-using-wif

【讨论】:

以上是关于混合模式联合身份验证和表单身份验证的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Identity + Windows 身份验证(混合模式 - 表单 + Windows)

使用 Spring 3.1 的混合模式 X509 身份验证

SQLServer身份验证

Windows身份验证和混合验证的差别

sql server 2008 windows验证改混合登陆中SqlServer身份验证用户名密码

SQLServer身份验证