我在IIS7 Web場上部署公共ASP.NET網站。限制對IIS7/ASP.NET上運行的特定URL的訪問
該應用程序在3個Web服務器上運行,位於防火牆後面。
我們希望在網站上創建一個僅供內部用戶訪問的頁面。它主要用於診斷,觸發高速緩存期滿等
/admin/somepage.aspx
什麼是控制訪問該網頁的最佳方式?我們需要:
- 防止所有外部(公共)用戶訪問URL。
- 只允許特定的內部用戶訪問該頁面,僅來自特定的IP或網絡。
該訪問控制應該在(a)網絡級別,(b)應用級別等級完成嗎?
我在IIS7 Web場上部署公共ASP.NET網站。限制對IIS7/ASP.NET上運行的特定URL的訪問
該應用程序在3個Web服務器上運行,位於防火牆後面。
我們希望在網站上創建一個僅供內部用戶訪問的頁面。它主要用於診斷,觸發高速緩存期滿等
/admin/somepage.aspx
什麼是控制訪問該網頁的最佳方式?我們需要:
該訪問控制應該在(a)網絡級別,(b)應用級別等級完成嗎?
我找到了最好的解決辦法是放置的iRule我們F5負載均衡。
我們創建了一個規則,負載均衡器將放棄特定目錄的所有外部請求。在內部,我們仍然可以直接連接到服務器場中的服務器。
這裏是如何確保特定頁面爲特定的用戶,只有他們
<configuration>
<location path="admin/somepage.aspx">
<system.web>
<authorization>
<allow users="User1,User2" />
<deny users="*" />
</authorization>
</system.web>
</location>
</configuration>
要設置允許的IP,你需要通過IPv4 Address and Domain Restriction
其中添加通配符Deny Entry
和特異性Allow Entries
配置的網站在IIS。
此外,您可以以編程方式設置所有這些。
一個簡單的實現是將IIS中該文件上的文件安全設置爲僅集成Windows身份驗證。
然後,在該文件的代碼後面,檢查用戶的ID ..如果它們已通過身份驗證,它們將具有ID,並讓它們訪問該頁面。
if(!HttpContext.Current.User.Identity.IsAuthenticated)
{
//Direct user to other page or display message.
}
當用戶進入該頁面時,會要求他們的網絡登錄