Allow/Deny 位用户在 Azure 应用服务中使用 web.config
Allow/Deny users using web.config in Azure app service
我有一个应用程序服务,其中包含如下所示的 3 个虚拟路径。
Virtual path Physical path Type
/ site\wwwroot Application
/app2 site\wwwroot\app2 Application
/app3 site\wwwroot\app3 Application
如何使用 web.config 通过 Azure 安全组控制对我的站点的访问?我有 3 个安全组,我想允许访问如下。
允许 sg1
访问我的根 /
。
允许 sg2
访问我的根目录 & /app2
。
允许 sg3
访问我的根目录 & /app3
。
在我的本地 IIS 盒中,我能够执行类似下面的操作来控制访问。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
<authentication mode="Windows"/>
<authorization>
<allow roles="GLOBAL\sg1"/>
<deny users="*"/>
</authorization>
</system.web>
<location path="app2">
<system.web>
<authorization>
<allow roles="Global\sg1"/>
<allow roles="Global\sg2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="app3">
<system.web>
<authorization>
<allow roles="Global\sg1"/>
<allow roles="Global\sg3"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
我可以在 Azure 应用服务中复制这个吗?
我尝试了一个简单的基本案例,如下所示。我可以转到我的 /
,因为它没有限制,但我在浏览 /app2
时收到错误 The page cannot be displayed because an internal server error has occurred.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="app2">
<system.web>
<customErrors mode="Off"/>
<authentication mode="Windows"/>
<authorization>
<allow roles="GLOBAL\sg1"/>
<allow roles="GLOBAL\sg2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
请帮忙:(
Can I replicate this in Azure app services?
不,您不能,因为您描述的是 Active Directory 行为。应用服务未与 AD 集成。
下一个最好的方法是 Azure AD 身份验证,但这将需要更改代码并且最终看起来完全不同:https://docs.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad
我有一个应用程序服务,其中包含如下所示的 3 个虚拟路径。
Virtual path Physical path Type
/ site\wwwroot Application
/app2 site\wwwroot\app2 Application
/app3 site\wwwroot\app3 Application
如何使用 web.config 通过 Azure 安全组控制对我的站点的访问?我有 3 个安全组,我想允许访问如下。
允许 sg1
访问我的根 /
。
允许 sg2
访问我的根目录 & /app2
。
允许 sg3
访问我的根目录 & /app3
。
在我的本地 IIS 盒中,我能够执行类似下面的操作来控制访问。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
<authentication mode="Windows"/>
<authorization>
<allow roles="GLOBAL\sg1"/>
<deny users="*"/>
</authorization>
</system.web>
<location path="app2">
<system.web>
<authorization>
<allow roles="Global\sg1"/>
<allow roles="Global\sg2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="app3">
<system.web>
<authorization>
<allow roles="Global\sg1"/>
<allow roles="Global\sg3"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
我可以在 Azure 应用服务中复制这个吗?
我尝试了一个简单的基本案例,如下所示。我可以转到我的 /
,因为它没有限制,但我在浏览 /app2
The page cannot be displayed because an internal server error has occurred.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="app2">
<system.web>
<customErrors mode="Off"/>
<authentication mode="Windows"/>
<authorization>
<allow roles="GLOBAL\sg1"/>
<allow roles="GLOBAL\sg2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
请帮忙:(
Can I replicate this in Azure app services?
不,您不能,因为您描述的是 Active Directory 行为。应用服务未与 AD 集成。
下一个最好的方法是 Azure AD 身份验证,但这将需要更改代码并且最终看起来完全不同:https://docs.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad