ADFS,WIF,WS Federation,SAML和STS有什么区别?
这些是用于Microsoft服务单点login的众多技术和stream行语。
有人可以解释ADFS,WIF,WS联邦,SAML和STS(安全令牌服务),包括何时何地被使用。
从大的angular度来看:
假设一个需要authentication和授权的基于ASP.NET浏览器的应用程序。
应用程序可以自行滚动,也可以外包。
WIF是一个允许ASP.NET实现这个外包的.NET库。
它与STS ( ADFS是STS的一个实例)交谈,该身份validation库对身份库进行身份validation,并以权利要求的forms提供授权信息。 STS提供一组签名,可信的声明。
WIF和ADFS之间使用的协议是WS-Federation 。
如果STS是基于Java的(例如Ping Identity或OpenAM),则WIF将使用SAML协议进行通信。 ADFS还支持SAML以启用联合。
(Federation)允许面向Java的公司A中的用户通过针对A的身份库进行身份validation来访问面向.NET的公司B中的ASP.NET应用程序,公司A和公司B彼此信任。
-
ADFS(Active Directory联合身份validation服务) – 由Microsoft生成并基于Windows Identity Foundation(WIF)构build的现成安全令牌服务(STS)。 依靠AD进行身份validation。 可用于活动(SOAP Web服务)或被动(Web站点)scheme,并支持SAML令牌,WS-Federation,WS-Trust和SAML协议。 它可以用作身份提供商(针对AD)或联合提供商。
http://technet.microsoft.com/en-us/library/adfs2(v=ws.10).aspx
-
WIF(Windows Identity Foundation) – .NET库用于在.NET应用程序和依赖方中驱动基于声明的身份validation。 它也可以用作WS-Trust客户端和构build自定义STS。
-
WS-Federation – 依赖方和STS协商安全令牌所使用的协议。 应用程序使用WS Federation从STS请求安全令牌,STS使用WS Federation协议(大部分时间)将SAML安全令牌返回给应用程序。 这通常是通过HTTP(GETs和POSTs和redirect)。 将其与基于Web服务的WS-Trust进行对比。
-
SAML令牌(安全断言标记语言) – 这只是用于安全令牌的XML格式,通常用于捕获用户信息(索赔)和其他相关的安全相关数据(签名,令牌发行者等)。 该令牌被应用程序用来authentication用户并驱动应用程序行为(例如授权)。 SAML安全令牌进行了完整性签名和可选encryption,所以只有RP和STS可以看到它的内容。 在使用WIF的ASP.NET网站中,默认情况下,令牌被encryption并分块成cookie,但可以更改。
http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language
-
STS(安全令牌服务) – 如上所述,STS是位于依赖方应用程序和用户之间的代理程序。 STS是安全令牌的发行者。 “发行人”通常是STS的同义词。 STS被configuration为两个angular色: 身份提供者 (IdP)在对用户进行身份validation时作为身份提供者 (IdP),或者当他们位于信任链中间时作为联邦提供者 (FP),并充当其他IdP的“依赖方”。 IdP需要一种authentication用户的方式。 有些(如ADFS)使用Active Directory,而另一些使用自定义数据库,如SQL Server Membership(而不是ADFS)。 如果用户正确authentication,STS将发出安全令牌。
http://msdn.microsoft.com/en-us/library/ff650503.aspx
http://docs.oasis-open.org/ws-sx/ws-trust/v1.4/os/ws-trust-1.4-spec-os.html#_Toc212615442
希望这有助于。 基于声明的authentication中有许多概念和部分要理解。 为了充分了解,您应该查看“基于声明的身份和访问控制指南” 。
本文旨在阐明在ADFS 2.0和SAML协议中受支持的SAML令牌,直到ADFS 3.0才支持Windows Server 2012 R2中的ADFS版本
1)ADFS 3.0之前不支持SAML协议
2)基于.net 4.5的WIF应用程序需要使用WS-Fed协议,目前不支持SAML协议
3)SAML令牌是基于XML的。 ADFS 2.0和以前的版本支持SAML令牌。 ADFS 1.0。 1.1。 而2.0只支持SAML令牌,不支持协议
4)如果您使用的是WIF,则需要WS-Fed(协议) – 所以您可以执行以下操作:
SAML协议<—> ADFS <—-> WS-FED <—-> WIF(.net 4.5)
来自Wiki:
•ADFS 1.0 – Windows Server 2003 R2(其他下载)
•ADFS 1.1 – Windows Server 2008和Windows Server 2008 R2。
•ADFS 2.0 – Windows Server 2008和Windows Server 2008 R2(从Microsoft.com下载)
•ADFS 2.1 – Windows Server 2012。
•ADFS 3.0 – Windows Server 2012 R2。
- 多个应用程序使用相同的login数据库相互logging
- FB.login对话框在Google Chrome上不会closures
- 如何从“连接到服务器”对话框中删除caching的服务器名称?
- 手动login没有密码的用户
- 如何更改TortoiseSVN中的用户
- 给定URL不被应用程序configuration所允许
- 尝试调用canOpenURL的iOS 9上的Googlelogin崩溃
- EditText在文本属性下面加下划线
- 获取错误org.springframework.beans.factory.NoSuchBeanDefinitionException:没有定义名为“springSecurityFilterChain”的bean