我目前正在为多个用户构建一个应用程序,并且已经获得了用户权限部分。
该应用程序包含大约20个子菜单项,每个用户都应根据用户权限授予/拒绝每个用户访问权限。
这意味着用户A可以访问子菜单1,4和21,用户B可以访问子菜单2,3,9,11,20等
这意味着将每一个组合都变成用户角色是不可能的,所以我想到了一个简单的解决方案。
我的第一个想法是将访问级别保存为字符串。
这样,我可以在该字符串中使用一个字符串索引来测试每个子菜单。
虽然这可能有用,但我会说它会变得非常快,所以我的问题是。
解决此问题的最佳方法是什么?我正在寻找可维护和直观的东西,而不需要数据库上有数百万个新表。
提前致谢!
答案 0 :(得分:1)
我可能在这里忽略了这一点,但是,每个子菜单都不能有ID,然后在ID和用户ID之间有一个连接表来确定访问权限,你可以和该连接表的另一列用于访问级别(读取 - 只有,编辑,管理员等)。
根据所需的性能,您可以在第一次访问请求后为用户缓存该响应,或者您可以在每个子菜单请求中查找它。