我会向您展示一些截图,这将更容易解释。
这就是我所拥有的:
http://www.noelshack.com/2012-23-1339063050-SiteWebV3.png
使用我的“root”帐户,我可以访问整个页面。
这就是我想要的:
http://www.noelshack.com/2012-23-1339063050-SiteWebV3LimitedAccess.png
我想限制对非root用户的访问。
我知道如何禁止访问整个页面,但我不知道(如果可能的话)如何屏蔽我页面的一部分。
我看了这个page,但它对我想要做的事没有帮助。
提前致谢。
答案 0 :(得分:2)
您可以制作两个WebUserControls
并根据父级Page_Load事件中的用户类型有条件地加载它们,或者您可以选择将WebUserControl
设置为UserControl
并将用户特定控件的可见性设置为只读/通过公开Page_load
的公共属性并将其设置在基于UserType
的{{1}}事件上,可见= false。
你也可以这样做
<% 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" />
<% } %>
希望它无论如何都可以帮助你
答案 1 :(得分: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
}
希望有所帮助:)