我正在开发一个应用程序,使用 Next.js 作为前端,使用 ASP.NET Core 作为后端。该应用程序具有大型菜单结构,我需要实现基于角色的访问控制,以便不同的用户根据其权限看到不同的菜单项。
我正在尝试从性能和可维护性的角度来决定管理此菜单数据的最佳方法:
将菜单结构存储在前端(硬编码数据),这可能会简化前端代码,但随着菜单的增长和用户权限需要更新可能会变得具有挑战性。
将菜单存储在数据库中,这可以为更改和权限提供更大的灵活性,并可轻松更新不同用户角色。但这可能会增加复杂性,而且我担心每次用户登录时查询数据库以获取菜单数据会对性能产生影响。
以下是我的主要考虑:
随着需求的变化,菜单结构更新的便捷性。从数据库获取菜单结构对性能的影响。根据角色管理用户权限的便捷性。在这种情况下,最佳做法是什么?我应该将菜单数据存储在数据库中,还是将其硬编码在前端以实现最佳的可管理性和可扩展性?
任何建议或指导都将不胜感激。谢谢!