2010-08-26 39 views
2

有時我需要阻止訪問網站,但我不想阻止訪問管理員,所以他們應該能夠看到網站,爲此我想我需要創建一個模塊。如何創建一個模塊以允許只有管理員訪問該網站?

我該如何製作一個這樣的模塊?

這是我的代碼。我只是不知道該把它放在哪裏。

var user = Membership.GetUser() as User; 

if (user == null || (user != null && !user.IsAdministrator)) 
{ 
    // Block 
} 
+0

出curosity的你能解釋一下爲什麼嗎?這是因爲你部署了一個新版本並想做一個快速測試? – 2010-08-26 18:24:43

+0

當我部署時,我必須在正在運行的網站上配置很多東西,需要一段時間才能完成所有測試和配置。同時我想將普通用戶重定向到「離線頁面」。 – BrunoLM 2010-08-26 18:26:02

+0

「管理員」是否在您的會員供應商中扮演角色? – 2010-08-26 18:27:13

回答

1

您可以使用web.config文件來配置您的目錄,以阻止對網站或部分網站的訪問。

舉個例子,

<location path="/admin"> 
     <system.web> 
      <authorization> 
       <deny users="*" /> 
       <allow role="Administrator" /> 
      </authorization> 
     </system.web> 
    </location> 

編輯:基於以上你的意見,你可能會感興趣的bottom of this article採取應用程序脫機,但仍然允許管理權限中描述的技術。

有關更多示例和信息,請參閱docs on the location element

+0

這正是我需要的。我設法重定向用戶設置loginUrl,如下所示:'

'on ''標籤 – BrunoLM 2010-08-26 18:47:19

1

如果「管理員」是您的成員資格提供者中的角色,那麼您可以在web.config中打開/關閉此功能。

正常運行:

<location path="."> 
    <system.web> 
     <authorization> 
      <allow users="*" /> 
     </authorization> 
    </system.web> 
</location> 

聯繫-only模式:

<location path="."> 
    <system.web> 
     <authorization> 
      <allow roles="Administrator" /> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
</location> 
相關問題