因此,有人告诉我我们的PHP应用程序可能需要支持使用ADFS进行身份验证。
对于非Microsoft人员,ADFS是什么?
与LDAP之类的东西有什么不同?
它是如何工作的?向ADFS服务器发送的典型请求中将包含哪些信息?它设计用于身份验证和授权吗?
通常可以从Internet访问ADFS服务器(而不能通过公司AD域控制器访问)吗?
我曾尝试阅读一些Technet文档,但是充满微软语言,并没有太大帮助。
Wikipedia更好(请参见下文),但也许ServerFault社区中的某些人可以填补其中的空白。
Active Directory联合身份验证服务(ADFS)是由Microsoft开发的软件组件,可以安装在Windows Server操作系统上,以为用户提供跨组织边界的系统和应用程序的单点登录访问。它使用基于声明的访问控制授权模型来维护应用程序安全性并实现联合身份。
基于声明的身份验证是基于有关可信令牌中包含的其身份的一组声明对用户进行身份验证的过程。
在ADFS中,通过在两个安全领域之间建立信任关系来在两个组织之间建立身份联盟。一侧(帐户一侧)的联合服务器通过Active Directory域服务中的标准方法对用户进行身份验证,然后发出令牌,其中包含有关用户的一系列声明,包括其身份。另一方面,在资源方面,另一个联合服务器验证令牌并为本地服务器发出另一个令牌以接受声明的身份。这允许系统向属于另一个安全领域的用户提供对其资源或服务的受控访问,而无需用户直接向系统进行身份验证,并且两个系统无需共享用户身份或密码的数据库。
实际上,这种方法通常被用户认为如下:
- 用户登录到本地PC(早上开始工作时通常会这样做)
- 用户需要在合作伙伴公司的Extranet网站上获取信息-例如,获取价格或产品详细信息
- 用户导航到合作伙伴公司Extranet网站-例如:http : //example.com
- 合作伙伴网站现在不需要输入任何密码-而是使用AD FS将用户凭据传递到合作伙伴Extranet站点
- 用户现在已登录到合作伙伴网站,并且可以与“已登录”网站互动
来自https://en.wikipedia.org/wiki/Active_Directory_Federation_Services