2013-04-10 38 views
0

我有相同的行为几个ASP.NET页面:显示网页内容基于用户的访问权限

  1. 每个页面都有自己的内容(如表格和表格)
  2. 每一个网页链接到2 web用户控制文件显示菜单框
  3. Page_Init上,检查用户是否有权查看内容。如果他们无法访问,该页面将显示一条消息,并且不会显示剩余内容。菜单框架仍将显示。

我在ASP.NET中很新,所以我只能想到在基于访问权限的内容中可见<div>标签。我想知道是否有其他方法可以解决这个问题。我使用VB代码背后。请建议...

回答

1

你可以用切片的PlaceHolder并简单地将其关闭,例如:

<asp:PlaceHolder ID="AuthUserStuff" runat="server"> 
    <div> 
     ... 
    </div> 
</asp:PlaceHolder> 

在你的代码隐藏,你可以简单地这样做:

AuthUserStuff.Visible = User.IsAuthenticated; 

PlaceHolder有额外的好处,如果隐藏,内容将不会呈现给客户端。

+0

太棒了,谢谢。 – user1817209 2013-04-15 06:03:08

0

使用您控制可视性的div标记是不好的,这意味着用户可以只做一个“查看源代码”,并且所有内容都将在那里。

而不是将内容添加到您使用的任何控件(或使用控制@Lloyd描述)或redirect him到自定义403页面(无访问权限)。