gpt4 book ai didi

asp.net - 限制对非生产环境的访问(Azure 应用服务)

转载 作者:行者123 更新时间:2023-12-02 06:48:29 25 4
gpt4 key购买 nike

诸如登台、验收和测试之类的非生产环境是单个应用服务下的插槽。我想将对这些环境的访问权限限制为一组特定的用户。目标是使网站功能齐全,供这些用户进行测试。因此禁用注册并不是一个简单的解决方案。这不是关于Azure中应用服务的管理,而是关于通过访问Web应用程序URL直接访问Web应用程序。

我尝试使用 BasicAuth 作为第一级身份验证来访问应用服务,但由于与现有身份验证冲突,这不起作用。

然后我尝试在 Web.Config 中使用 ipSecurity 规则。但是,我找不到如何仅在应用程序服务处于非生产模式时启用这些限制。我不想要一个必须手动添加和删除 IP 规则的解决方案。

<system.webServer>
<security>
<!-- How to disable the following rule in production -->
<ipSecurity allowUnlisted="false" denyAction="Forbidden">
<add allowed="true" ipAddress="203.0.113.0" subnetMask="255.255.255.0"/>
</ipSecurity>
</security>
</system.webServer>

反对 IP 规则的另一个论点是必须具有访问权限的用户通常从动态 IP 进行连接。

每个环境都有一个唯一的 URL 和一个应用程序设置及其所在环境的名称。

<小时/>

如何在这些非生产环境中添加另一层身份验证,而无需手动更改文件?

最佳答案

您可以考虑通过两种方法来禁用对非生产插槽的访问:

  1. 如下所述:https://ruslany.net/2014/04/azure-web-sites-block-web-access-to-non-production-deployment-slots/用户在网站的 web.config 文件中重写规则
  2. 对 Azure 门户中的特定插槽使用 IP 限制配置。你可以在这里读到IP限制不是交换配置。因此每个插槽可以有自己的一组 IP 配置:https://learn.microsoft.com/en-us/azure/app-service/deploy-staging-slots

注意:“登台、验收和测试等非生产环境是单个应用服务下的插槽。” - 这不是正确的设计!部署槽用于部署目的 - 部署前测试/验证、零停机部署。所有插槽共享相同的资源池(硬件)。如果您考虑使用插槽作为暂存、验收和测试目的的环境,您的网络应用程序的性能将会大大降低。

关于asp.net - 限制对非生产环境的访问(Azure 应用服务),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42827912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com