【发布时间】:2011-12-03 19:25:21
【问题描述】:
我正在开发一个 Web 应用程序,它向管理员显示的菜单栏与向普通用户显示的菜单栏不同。我的意思是如果用户是管理员,他会看到一些与系统本身的设置相关的选项。 我将菜单栏创建为用户控件 (ascx),并在其代码隐藏中定义了以下方法:
public bool DisplayAdminOnlyMenuItems
{
get { return menuItem1ToHide.Visible; }
set
{
menuItem1ToHide.Visible = value;
}
}
然后在 site.master 页面中,我将菜单栏用户控件设置为 false
在代码隐藏中,我使用以下逻辑:
if(user.username == "John"){
MenuBar1.DisplayAdminOnlyMenuItems = true;
}
一切正常。现在,我有了新的要求,这让我的生活变得有点复杂。 我的数据库中有三个表,其结构如下:
用户表:姓名、用户名、部门(用户名为主键)
角色表: RoleID、RoleName(RoleID为主键)
UserRole表: UserRoleID、Username、RoleID(UserRoleID为主键)
我有三个角色:管理员、组织者和用户 我想只为具有管理员角色的用户显示管理员菜单,我该怎么做?
【问题讨论】: