2

我会给你看一些截图,它会更容易解释。

这就是我所拥有的: http
://www.noelshack.com/2012-23-1339063050-SiteWebV3.png 使用我的“root”帐户,我可以访问整个页面。

这就是我想要的: http
://www.noelshack.com/2012-23-1339063050-SiteWebV3LimitedAccess.png 我想限制对非 root 用户的访问。

我知道如何禁止访问整个页面,但我不知道(如果可能的话)如何屏蔽我的页面的一部分。

我查看了此页面,但它对我想做的事情没有帮助。

提前致谢。

4

2 回答 2

2

您可以制作两个WebUserControls并可以根据父 Page_Load 事件中的用户类型有条件地加载它们,或者您可以选择制作一个WebUserControl并将用户特定控件的可见性设置为只读/可见 = false,只需公开其公共属性UserControl并设置它以Page_load事件为基础UserType

你也可以这样做

    <% if (this.UserType== "root") { %>
    Loading user control with root user options
    <CTRL:A runat="server" />
<% } else { %>
    Loading user control with Non root User rights
    <CTRL:A runat="server" />
<% } %>

希望它对你有帮助

于 2012-06-07T10:16:58.497 回答
1

如果有人感兴趣,我发现了一种更简单(最简单?)的方法:

protected void Page_Load(object sender, EventArgs e)
    {
            if (Convert.ToString(User.Identity.Name) == "root")
            {
              //Your code if you're root
            }
            else
            {
             //Your code if you aren't
            }
   }

当然,您可以通过管理员的用户名更改“Root”,或者添加许多这样的登录名:

if (Convert.ToString(User.Identity.Name) == "root" || Convert.ToString(User.Identity.Name) == "AnotherLogin" || Convert.ToString(User.Identity.Name) == "Etc")
{
  //Blah blah
}

希望能帮助到你 :)

于 2012-06-07T14:07:00.257 回答