有時我需要阻止訪問網站,但我不想阻止訪問管理員,所以他們應該能夠看到網站,爲此我想我需要創建一個模塊。如何創建一個模塊以允許只有管理員訪問該網站?
我該如何製作一個這樣的模塊?
這是我的代碼。我只是不知道該把它放在哪裏。
var user = Membership.GetUser() as User;
if (user == null || (user != null && !user.IsAdministrator))
{
// Block
}
有時我需要阻止訪問網站,但我不想阻止訪問管理員,所以他們應該能夠看到網站,爲此我想我需要創建一個模塊。如何創建一個模塊以允許只有管理員訪問該網站?
我該如何製作一個這樣的模塊?
這是我的代碼。我只是不知道該把它放在哪裏。
var user = Membership.GetUser() as User;
if (user == null || (user != null && !user.IsAdministrator))
{
// Block
}
您可以使用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。
這正是我需要的。我設法重定向用戶設置loginUrl,如下所示:'
'on '如果「管理員」是您的成員資格提供者中的角色,那麼您可以在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>
出curosity的你能解釋一下爲什麼嗎?這是因爲你部署了一個新版本並想做一個快速測試? – 2010-08-26 18:24:43
當我部署時,我必須在正在運行的網站上配置很多東西,需要一段時間才能完成所有測試和配置。同時我想將普通用戶重定向到「離線頁面」。 – BrunoLM 2010-08-26 18:26:02
「管理員」是否在您的會員供應商中扮演角色? – 2010-08-26 18:27:13