根据用户的访问权限显示网页内容

时间:2013-04-10 11:19:33

标签: asp.net

我有几个具有相同行为的ASP.NET页面:

  1. 每个页面都有自己的内容(例如表格和表格)
  2. 每个页面链接到2个Web用户控制文件以显示菜单框
  3. Page_Init上,检查用户是否有权查看内容。如果他们没有访问权限,该页面将显示一条消息,并且不会显示剩余的内容。菜单框仍将显示。
  4. 我是ASP.NET的新手,所以我只能考虑根据访问权限播放内容<div>标签的可见性。我想知道是否还有其他方法可以解决这个问题。我正在使用VB代码。请建议......

2 个答案:

答案 0 :(得分:1)

您可以将部分包含在PlaceHolder中,然后将其关闭,例如:

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

在您的代码隐藏中,您可以简单地执行以下操作:

AuthUserStuff.Visible = User.IsAuthenticated;

PlaceHolder具有额外的优势,即如果隐藏,内容将不会呈现给客户端。

答案 1 :(得分:0)

使用控制可见性的div标签是不好的,这意味着用户只需执行“查看源”,所有内容都将在那里。

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