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