有时我需要阻止访问网站,但我不想阻止管理员访问,因此他们应该能够看到网站,为此我想我需要制作一个模块。
我如何制作这样的模块?
这是我的代码。我只是不知道应该放在哪里。
var user = Membership.GetUser() as User;
if (user == null || (user != null && !user.IsAdministrator))
{
// Block
}
答案 0 :(得分: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。
答案 1 :(得分:1)
如果“管理员”是您的会员提供商中的角色,那么您可以在web.config中打开/关闭此功能。
正常操作:
<location path=".">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
仅限管理员模式:
<location path=".">
<system.web>
<authorization>
<allow roles="Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>