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



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

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

我是ASP的新手。因此,我只能考虑基于访问权的内容的<div>标签的可见性。我想知道是否还有其他方法来解决这个问题。我使用VB的代码背后。请建议…

您可以在PlaceHolder中包装部分并简单地关闭它,例如:

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

在你的代码后面,你可以简单地做这样的事情:

AuthUserStuff.Visible = User.IsAuthenticated;

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

使用你控制可见性的div标签是不好的,这意味着用户可以只做一个"查看源",所有的内容都会在那里。

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

最新更新