经典权限系统设计(五张表)

jopen 9年前

大致用到5张表:用户表(UserInfo)、角色表(RoleInfo)、菜单表(MenuInfo)、用户角色表(UserRole)、角色菜单表(RoleMenu)。

各表的大体表结构如下:

1、用户表(UserInfo):Id、UserName、UserPwd

2、角色表(RoleInfo):Id、RoleName

3、菜单表(MenuInfo):Id、MenuName

4、用户角色表(UserRole):Id、UserId、RoleId

5、角色菜单表(RoleMenu):Id、RoleId、MenuId

 

最关键的地方是,某个用户登录时,如何查找该用户的菜单权限?其实一条语句即可搞定:

假如用户的用户名为zhangsan,则他的菜单权限查询如下:

Select m.Id,m.MenuName from MenuInfo m ,UserInfo u UserRole ur, RoleMenu rm Where m.Id = rm.MenuId and ur.RoleId = rm.RoleId and ur.UserId = u.Id and u.Use