我正在用PHP和MySQL创建菜单系统。我将有几个不同的菜单,每个菜单都将具有一组与其连接的菜单项。
在该网站上,我还具有不同的用户权限,有些用户可以看到所有菜单项,有些项目对某些用户是隐藏的。我很好奇如何以一种干净的方式处理权限,将来可以轻松添加更多类型的用户。
到目前为止,我有这样的事情:
-------------------
|Menus
-------------------
|id| |display name|
-------------------
----------------------------------------------------------
|Menu items
----------------------------------------------------------
|id| |menu_id| |label| |link| |parent| |sort| |permission|
----------------------------------------------------------
我在想该permission
列可能是一个逗号分隔的字符串,我可以将其与当前用户的权限ID进行匹配。它也可能是对其他一些表的引用,该表定义了当前现有权限的所有可能组合。
一种解决方案也可以是简单地存储多个菜单项,唯一的区别是权限,尽管这将导致重复存储,并且可能给管理带来麻烦。
我很想听听有关如何组织这个以及什么可以被认为是干净,动态和dynamic脚的思考。
谢谢。