在想象的情况下,不应访问网页的用户导航到该页面。此页面是子页面。用户在此页面中不应该有任何功能,甚至不能看到任何东西,但他(或她)应该仍然能够使用母版页控件。你做什么来禁用页面?
我想也许可以制作一个控制元素 .visible=false,但这安全吗?还有其他方法我应该禁用页面吗?
在想象的情况下,不应访问网页的用户导航到该页面。此页面是子页面。用户在此页面中不应该有任何功能,甚至不能看到任何东西,但他(或她)应该仍然能够使用母版页控件。你做什么来禁用页面?
我想也许可以制作一个控制元素 .visible=false,但这安全吗?还有其他方法我应该禁用页面吗?
提供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
您可以在页面中放置您希望的任何友好信息
假设我理解您的问题,并假设您指的是 ASP.Net Web 表单,那么请查看<asp:LoginView />
控件。
它有一个<AnonymousTemlate />
和一个<LoggedInTemplate />
分别代表用户的类型(匿名或登录,将显示适当的内容)。
它适用于 ASP.net 表单身份验证。
有关详细信息:MSDN - ASP.Net 登录控件
嗯……
如果用户无权访问控件,则使控件可见 = false 应该是安全的,因为该控件的任何内容都由服务器呈现。
但是,如果用户尝试访问他们无权访问的页面,我通常会记录该活动并将他们重定向到“抱歉您无权查看此页面”屏幕