2009-07-28 24 views

回答

1

Ryan的所有建議都很好。這裏還有兩點(他的點#2的變化)。

在Global.asax,可以使用的Application_BeginRequest做這樣的事情:

if (Request.UserHostAddress != "127.0.0.1" && !Request.UserHostAddress.StartsWith("172.16") && Request.Url.AbsolutePath.Contains("AdminFolderName")) 
{ 
    Response.Redirect("~/somenonproectedpageornoaccessmessagepage.aspx", true); 
} 

或該文件夾中使用一個母版爲每個aspx頁面,並把下面在Page_Load

if (Request.UserHostAddress != "127.0.0.1" && !Request.UserHostAddress.StartsWith("172.16")) 
{ 
    Response.Redirect("http://www.kwiktrip.com", true); 
} 
+0

謝謝!我用你的第二個選項。 – 2009-07-29 06:29:30

0

在你的web.config,你可以這樣做:

<location path="~/blog/add"> 
    <system.web> 
     <authorization> 
     <allow users="admin" /> 
     <deny users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
+0

這不起作用。也許我應該爲此設置一個名爲admin的用戶? – 2009-07-28 10:44:23

2

我不認爲這有什麼天然的表單認證,將做到這一點。 你將不得不;

  1. 擴展表單身份驗證,以應付這個(我認爲它是封閉的地方,雖然)。
  2. 該文件夾中的所有項目都從檢查調用者的IP地址的基類繼承。
  3. 使用IIS將該目錄鎖定到本地客戶端(在IIS7中,這可以在.config中完成,我相信)。
  4. 添加一個HTTP處理程序來攔截對該目錄的調用並重定向它們,如果不是本地的(這可能是最簡單的)。

希望有幫助,有點模糊,但一個起點。