Database design 如何在应用程序中管理web导航信息?

Database design 如何在应用程序中管理web导航信息?,database-design,navigation,data-modeling,Database Design,Navigation,Data Modeling,我正在构建一个应用程序,在这个应用程序中,不同的用户可以使用不同的菜单项,具体取决于他们支付的费用。菜单层次结构也将有多个级别 解决这个问题的最佳方法是什么 我假设我需要一个表示菜单层次结构的数据库表,包括导航中节点的父子关系以及项的排序。然后是另一个表,我使用它来管理用户是否有权访问该表中的特定项 当我呈现视图时,我会引用菜单和用户的访问权限来输出菜单,并且我还需要一个函数来检查来自每个控制器的相同授权,以防用户手动键入他们不应该访问的控制器的URL 这是正确的方法吗?有没有关于缓存这些信息以

我正在构建一个应用程序,在这个应用程序中,不同的用户可以使用不同的菜单项,具体取决于他们支付的费用。菜单层次结构也将有多个级别

解决这个问题的最佳方法是什么

我假设我需要一个表示菜单层次结构的数据库表,包括导航中节点的父子关系以及项的排序。然后是另一个表,我使用它来管理用户是否有权访问该表中的特定项

当我呈现视图时,我会引用菜单和用户的访问权限来输出菜单,并且我还需要一个函数来检查来自每个控制器的相同授权,以防用户手动键入他们不应该访问的控制器的URL


这是正确的方法吗?有没有关于缓存这些信息以防止不断查找此类信息的建议?我愿意听取任何关于您如何处理此类需求的建议。

当用户登录时,我会检查所有权限,然后将其存储到会话中。这样,您只需从数据库中查找一次


否则,您处理菜单和每个控制器页面的方法似乎很好。

当用户登录时,我会检查所有权限,然后将它们存储到会话中。这样,您只需从数据库中查找一次


否则,您在每个控制器页面中处理菜单的方法似乎很好。

每个客户都将拥有自己的站点/数据库部署实例还是只有一个实例?每个客户都将拥有自己的站点/数据库部署实例还是只有一个实例?