1. 程式人生 > >經典許可權系統設計(五張表)

經典許可權系統設計(五張表)

大致用到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.UserName = 'zhangsan'