2010-06-10 78 views
3

我在IIS7 Web場上部署公共ASP.NET網站。限制對IIS7/ASP.NET上運行的特定URL的訪問

該應用程序在3個Web服務器上運行,位於防火牆後面。

我們希望在網站上創建一個僅供內部用戶訪問的頁面。它主要用於診斷,觸發高速緩存期滿等

/admin/somepage.aspx

什麼是控制訪問該網頁的最佳方式?我們需要:

  1. 防止所有外部(公共)用戶訪問URL。
  2. 只允許特定的內部用戶訪問該頁面,僅來自特定的IP或網絡。

該訪問控制應該在(a)網絡級別,(b)應用級別等級完成嗎?

回答

2

我找到了最好的解決辦法是放置的iRule我們F5負載均衡。

我們創建了一個規則,負載均衡器將放棄特定目錄的所有外部請求。在內部,我們仍然可以直接連接到服務器場中的服務器。

1

這裏是如何確保特定頁面爲特定的用戶,只有他們

<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。

此外,您可以以編程方式設置所有這些。

0

一個簡單的實現是將IIS中該文件上的文件安全設置爲僅集成Windows身份驗證。

然後,在該文件的代碼後面,檢查用戶的ID ..如果它們已通過身份驗證,它們將具有ID,並讓它們訪問該頁面。

if(!HttpContext.Current.User.Identity.IsAuthenticated) 
{ 
    //Direct user to other page or display message. 
} 

當用戶進入該頁面時,會要求他們的網絡登錄

相關問題