3

我在 azure 上拥有一个私有 webapp,我希望它只能供特定用户访问,这些用户可以使用任何身份验证提供商登录,例如 Google、Azure AD 的 Facebook。
如何使其成为仅适用于预定义用户的私有应用程序?
目前我选择的解决方案:

  • 对于我的 webapp,将身份验证/授权部分设置为仅允许经过身份验证的用户(所有用户)
  • 维护授权用户电子邮件列表
  • 对于每个请求,我都会检查标题X-MS-CLIENT-PRINCIPAL-NAME,看看它是否是我的“预定义用户”之一。如果没有,返回forbidden


我想正确的路径是 Azure AD 并且可能分配角色

4

1 回答 1

0

您可以使用站点根目录中的 web.config 文件来限制特定用户。您可以查看以下示例,

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <system.web>
      <authorization>
        <allow users="abc@Facebook.com, def@gmail.com"/>
        <deny users="*"/>
      </authorization>
   </system.web>
</configuration>

此外,您可以使用 KUDU 控制台 ( http://your-app-url.scm.azurewebsites.net ) 添加和编辑文件。

如果您想使用 Azure AD 进行身份验证,您可以按照以下步骤操作,在 Azure Active Directory 设置刀片中,您可以选择“快速管理模式”并创建一个新的 AD 应用程序来配置谁能够访问我们的 Web 应用程序。单击保存后,尝试通过隐身窗口访问您的网络应用程序(无会话和 cookie),您将被重定向到登录表单。要访问您的应用程序,您需要使用已在 Azure Active Directory 应用程序“NotPublicWebApp”中声明的帐户登录。要在您的 Web 应用程序中管理访问权限,您需要单击 Active Directory 服务,该服务会将您重定向到旧门户。在那里,您可以将更多用户添加到您的 Active Directory,而从“应用程序”选项卡中,您可以管理用户对您的应用程序的访问。更多信息,您可以参考这篇文章:https://ppolyzos.com/2016/08/19/restrict-access-to-your-azure-websites-using-authenticationauthorization/

于 2018-04-16T09:34:49.107 回答