我目前正在尝试了解 Azure ACS 与基于声明的身份验证的组合以及使用自定义 STS 的选项,但我只是慢慢地了解(不幸的是,很少)信息源。在我花更多时间在这之前,我想确认我的计划是否可行。我有多个 azure 角色(web+worker),员工和客户都可以通过 Internet 访问这些角色。此外,员工可以从我们的本地网络内部访问这些角色和桌面应用程序。
用户数据来自两个来源。我们的 azure 应用程序包含有关客户和员工的用户数据,我们的(本地)广告仅来自员工。
为了使登录体验尽可能高效(且符合人体工学),当通过我们的本地网络访问时,员工应在桌面应用程序(自动由于 Windows 用户配置文件上下文)和 azure 上自动进行身份验证(Windows 集成身份验证?)应用程序(希望没有登录页面)。另一方面,客户在访问 azure 应用程序时应输入他们的用户凭据,但不必在不同的“凭据源”之间做出决定,他们应该只获取用户名+密码表单。换句话说
- 员工从本地网络访问 Azure 应用程序 -> 使用集成的 Auth/AD 数据自动登录
- 员工从 Internet 访问 Azure 应用程序 -> 用户名+密码表单
- 客户从 Internet 访问 Azure 应用程序 -> 用户名+密码表单
在写这个问题时,我想到了另外两个:
1) 甚至可以根据源/cookie/wizardry 自动登录,还是需要手动用户选择“凭据源”?
2) 如果 Azure ACS“知道”用户名 X 的 AD 帐户与 Azure App 用户 Y 相同,那么登录哪个帐户有关系吗?应用程序可以在任一登录路径上访问相同的声明数据吗?