2

我开发了 MVC 5 应用程序。现在我想为我的应用程序使用身份验证。我的最终用户是员工和客户,我想使用 Azure AD 对员工进行身份验证,并使用 windows live id 对客户进行身份验证。

我曾尝试使用 Azure ACS,但它会询问我是要使用 Azure AD 还是 Windows Live ID 登录。

我的要求如下。默认 URL 是http://localhost:12973。当员工想要登录时,它将重定向到http://localhost:12973/employees并且员工应该重定向到 Azure AD 登录页面,对于客户http://localhost:12973/customers和客户应该重定向到 windows 登录页

那么如何在单个 Web 配置文件中同时配置 Azure AD 和 ACS?

任何人都可以帮助我如何实现这两个要求。

4

2 回答 2

1

您需要将 Azure AD 设置为 IdP 以供 ACS 使用,然后将您的 MVC 应用程序切换为仅使用 ACS。有关如何将 Azure AD 设置为 ACS 身份源的详细信息,请参阅Vittorio 的博客

为了区分用户类型,您必须检查传入的声明并确定用户是在 Azure AD(我假设是员工)还是其他地方(客户)。那将是您的“返回 URL”,然后根据您的要求执行 301 重定向到正确的着陆页。

将来,Azure AD 将是做所有这些事情(包括外部 ID)的正确场所,因此可能值得重新审视您的设计并阅读一些关于如何使用 Azure AD 而不是 ACS 的最新建议。

于 2015-03-24T07:32:53.310 回答
0

或者,您的应用程序可以信任 Auth0,您可以将 Microsoft 帐户 (Windows Live) 和 Azure AD 配置为 Auth0 中的连接。以下示例展示了如何将 Azure AD 用于不同的社交关系:

样本

今天与 ACS 的最大区别在于 Auth0 还可以获取使用 Microsoft 帐户进行身份验证的用户的电子邮件地址。

免责声明:我为 Auth0 工作。

于 2015-03-24T13:44:42.477 回答