c# – 将某些页面功能或用户界面限制为Asp.Net中经过身份验证的用户

我正在使用Asp.Net/
C#构建一个应用程序.我正在使用表单身份验证.我有一个要求,即我的许多经过身份验证的(非匿名)用户被限制在某些页面功能或用户界面.我猜登录控件可以仅用于Authenticated vs Anonymous users.So我的问题是,当我知道某些页面组件要从特定的经过身份验证的用户隐藏时,我该怎么办呢.你认为我需要在page_load事件中使用它来隐藏具有此类要求的页面的组件.

// Is this Tito visiting the page?
string userName = User.Identity.Name;
if (string.Compare(userName, "Tito", true) == 0)
 // This is Tito, SHOW the Delete column
 FilesGrid.Columns[1].Visible = true;
else
 // This is NOT Tito, HIDE the Delete column
 FilesGrid.Columns[1].Visible = false;

是否有更好的方法来实现这一点.非常感谢任何帮助.谢谢

最佳答案 在这里,您可以使用Membeship User类和
RolePrincipal来分隔用户.

if(HttpContext.Current.User.IsInRole("Level1"))
{
    FilesGrid.Columns[1].Visible = true;
}
else
{
    FilesGrid.Columns[1].Visible = false;
}

因此,您将用户设置为不同的成员名称,然后向他们显示取决于成员身份角色的不同控件.

一些链接:

http://msdn.microsoft.com/en-us/library/ff648345.aspx

http://msdn.microsoft.com/en-us/library/system.web.security.roleprincipal.isinrole.aspx

点赞