一个多月以来,我一直试图了解这个问题是如何解决的。我真的需要想出一个可行的通用方法。我有一个理论,但我不确定这是最简单(或正确)的方法,而且我无法找到任何信息来支持我的想法。
这是场景:
1) 您有一个复杂的 Web 应用程序,它在订阅的基础上提供安全内容。
2) 用户需要使用用户名和密码登录您的应用程序。
3) 您向已经拥有公司身份验证技术(例如 Active Directory)的大公司销售产品。
4) 您希望与企业身份验证机制集成,让他们的用户无需输入用户名和密码即可登录您的 Web App。
现在,您提出的任何解决方案都必须提供一种机制:
- 添加新用户
- 删除用户
- 更改用户信息
- 允许用户登录
理想情况下,当企业客户对自己的身份验证进行相应更改时,所有这些都会“自动”发生。
现在,我有一个理论,这样做的方法(至少对于 Active Directory)是我编写一个与客户的 Active Directory 集成的客户端应用程序以跟踪目标更改,然后将这些更改传达给我的网络应用程序。我认为,如果这种通信是通过我的网络应用程序提供的网络服务完成的,那么它将保持不可破解的安全级别,这显然是这些企业客户的要求。
我发现了一些关于名为 Active Directory 联合服务 (ADFS) 的 Microsoft 产品的信息,它可能适合我,也可能不适合我。它似乎有点笨重,并且有一些可能不适用于所有客户的要求。
对于其他现有的 ID 场景(如雅典和 Shibboleth),我认为不需要客户端应用程序。这可能只是绑定到现有 ID 服务的问题。
如果有人对我在这里提到的任何事情提出任何建议,我将不胜感激。特别是,如果您能告诉我关于提供与服务器端 Web 服务通信的客户端应用程序的理论是否正确,或者我是否完全走错了方向。此外,如果您能指出任何解释如何执行此操作的网站或文章,我将不胜感激。到目前为止,我的研究成果并不多。
最后,如果您能告诉我目前提供此服务的任何 Web 应用程序(特别是与企业 Active Directory 相关联的应用程序),我将不胜感激。我想知道其他 B2B Web 应用程序,如 salesforce.com 或 hoovers.com 是否为他们的企业客户提供类似的服务。
我讨厌在黑暗中,非常感谢你能散发出的任何光芒......
杰里米