我正在尝试使用 Windows Azure 访问控制来避免在我的应用程序中使用用户名/密码的安全风险并简化身份验证。但是,这是一个可供希望“预认证”用户的中型或大型公司使用的站点。换句话说,他们可能希望通过输入用户的 Windows Live ID 来批量创建用户,并在该用户通过 Azure ACS 登录之前自动创建他们的帐户。我可以通过向该用户发送一封电子邮件来完成此操作,其中包含指向一次性使用页面的链接以创建他们的帐户,但我希望做一些更无缝的事情。
我正在尝试做的相当于 Team Foundation Service (*.visualstudio.com) 让您只需输入他们的 Windows Live ID 即可将用户添加到团队项目,一旦您这样做,他们就可以登录并访问该项目,即使该用户以前从未登录过 TFS。
我不明白的是如何使用 ACS 和 System.IdentityModel 来做到这一点。我可以使用 nameidentifier 声明来唯一标识一个用户,但是如何通过给定的提供程序为另一个用户获取 nameidentifier?
如果我没有很好地解释这一点,我很抱歉,所以请随时提出问题。