2010-03-16 59 views
1

我正在构建一个应用程序,其中不同的用户可以根据他们已付费购买不同的菜单项。菜单层次也会有多个层次。如何管理应用程序中的Web导航信息?

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

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

当我呈现视图,我参考菜单,并且用户输出所述菜单的访问权限,以及我还需要一个函数来用户手动检查相同的授权从每个控制器的情况下类型在他们不应该有权访问的控制器的URL中。

这是正确的做法吗?任何建议缓存这个,以防止这种类型的信息不断查找?对于您可能如何处理此类需求的问题,我愿意接受任何建议。

+0

是每个客户将拥有网站/数据库的自己的部署实例,或者会不会有一个实例? – gingerbreadboy 2010-03-16 14:07:33

回答

1

当用户登录时,我会检查有那么的一切权利,然后将它们存储到他们的会话。这样,你只需要从数据库中查找一次。

否则,你处理的菜单,并在每个控制器页面的做法,似乎罚款。