什么是在asp.net中禁用页面的简洁方法?

时间:2012-09-07 20:35:08

标签: asp.net

在想象的情况下,不应该访问网页的用户导航到该页面。 此页面是子页面。用户不应该在此页面中具有任何功能,甚至不能看到任何内容,但他(或她)应该仍然可以使用母版页控件。你怎么做才能禁用页面?

我想也许制作一个控制元素.visible = false,但这样安全吗?还有其他方法我应该禁用页面吗?

3 个答案:

答案 0 :(得分:2)

提供具有所需主页的nopermission.aspx页面,然后在Page_Load重定向到该页面

protected void Page_Load(object sender, EventArgs e)
{
    if(!HasPermission("User123"))   //User does not have permission
       Response.Redirect("nopermission.aspx");

    //otherwise, the page continues as required
}

您可以在nopermission页面

中添加您想要的任何友好信息

答案 1 :(得分:1)

假设我理解了您的问题,并假设您指的是ASP.Net Web窗体,那么请查看<asp:LoginView />控件。

它有一个<AnonymousTemlate />和一个<LoggedInTemplate />分别表示用户的类型(匿名或登录,将显示相应的内容)。

它适用于ASP.net Forms Authentication。

详细信息:MSDN - ASP.Net Login Controls

H个....

答案 2 :(得分:0)

如果用户无法访问它,则使控件可见= false应该是安全的,因为服务器不会呈现此控件的任何内容。

但是,如果用户尝试访问他们无权访问的页面,我通常会记录该活动并将其重定向到“抱歉,您无权查看此页面”屏幕