1

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

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

4

3 回答 3

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您可以在页面中放置您希望的任何友好信息

于 2012-09-07T21:11:56.693 回答
1

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

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

它适用于 ASP.net 表单身份验证。

有关详细信息:MSDN - ASP.Net 登录控件

嗯……

于 2012-09-07T23:23:13.560 回答
0

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

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

于 2012-09-08T03:05:59.800 回答