限制对IIS7/ASP.NET上运行的特定URL的访问
我正在IIS7 web场上部署一个公共ASP.NET网站 该应用程序在3台web服务器上运行,位于防火墙后面 我们想在网站上创建一个只有内部用户才能访问的页面。它主要用于诊断、触发器缓存过期等 /admin/somepage.aspx 控制访问此页面的最佳方式是什么?我们需要:限制对IIS7/ASP.NET上运行的特定URL的访问,asp.net,security,authentication,iis-7,Asp.net,Security,Authentication,Iis 7,我正在IIS7 web场上部署一个公共ASP.NET网站 该应用程序在3台web服务器上运行,位于防火墙后面 我们想在网站上创建一个只有内部用户才能访问的页面。它主要用于诊断、触发器缓存过期等 /admin/somepage.aspx 控制访问此页面的最佳方式是什么?我们需要: 阻止所有外部(公共)用户访问URL 允许特定的内部用户仅从特定IP或网络访问该页面 是否应该在(a)网络级别、(b)应用程序级别等进行访问控制?以下是如何保护特定用户的特定页面,并且只保护他们 <configura
是否应该在(a)网络级别、(b)应用程序级别等进行访问控制?以下是如何保护特定用户的特定页面,并且只保护他们
<configuration>
<location path="admin/somepage.aspx">
<system.web>
<authorization>
<allow users="User1,User2" />
<deny users="*" />
</authorization>
</system.web>
</location>
</configuration>
要设置允许的IP,您需要在IIS中通过IPv4地址和域限制
配置网站,其中添加通配符拒绝条目
并指定允许条目
您还可以通过编程方式设置所有这些内容。一个简单的实现是将IIS中该文件的文件安全设置为仅集成Windows身份验证 然后在该文件的代码隐藏中,检查用户的ID。如果他们经过身份验证,他们将拥有一个ID,并允许他们访问该页面
if(!HttpContext.Current.User.Identity.IsAuthenticated)
{
//Direct user to other page or display message.
}
当用户进入该页面时,它会要求他们进行网络登录我发现最好的解决方案是在我们的F5负载平衡器上安装一个irule 我们创建了一个规则,负载平衡器将删除特定目录的所有外部请求。在内部,我们仍然可以通过直接连接到服务器场中的服务器来访问页面