在想象的情况下,不应该访问网页的用户导航到该页面。 此页面是子页面。用户不应该在此页面中具有任何功能,甚至不能看到任何内容,但他(或她)应该仍然可以使用母版页控件。你怎么做才能禁用页面?
我想也许制作一个控制元素.visible = false,但这样安全吗?还有其他方法我应该禁用页面吗?
答案 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应该是安全的,因为服务器不会呈现此控件的任何内容。
但是,如果用户尝试访问他们无权访问的页面,我通常会记录该活动并将其重定向到“抱歉,您无权查看此页面”屏幕