如何管理应用程序中的Web导航信息?

时间:2010-03-16 14:03:11

标签: database-design navigation data-modeling

我正在构建一个应用程序,其中不同的用户将根据他们支付的费用为他们提供不同的菜单项。菜单层次结构也有多个级别。

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

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

当我渲染视图时,我会引用菜单以及用户输出菜单的访问权限,我还需要一个函数来检查每个控制器的相同授权,以防用户手动输入在控制器的URL中,他们不应该有权访问。

这是正确的做法吗?有任何缓存此建议的建议,以防止此类信息的持续查找?我对你如何处理这类要求提出任何建议。

1 个答案:

答案 0 :(得分:1)

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

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