【发布时间】:2013-11-03 15:28:02
【问题描述】:
我目前正在构建一个复杂的基于 AngularJS 的前端网站。 后端由 PHP 和 MySQL 提供支持。
我有 2 个问题,都是关于用户权限的。
您将如何设计用于存储用户权限的数据库模式? 将来我想添加预定义的权限(几组)并将它们用作免费/高级帐户类型。
您将如何在前端管理这些权限? 您什么时候获取/重新获取权限? 您将如何检查每种需要权限的方法?
我正在寻找一种智能解决方案,它不会限制我可以定义的权限数量,但如果未定义任何内容,也会提供一组默认的基本权限。
关于 SQL 实现
特权应适用于特定公司的所有用户。
db 架构是这样的:
- 公司(company_id 等)
- 用户(user_id、company_id 等)
据我了解,权限架构应如下所示:
- 权限(prev_id, prev_name)
- companies_privileges(company_id, prev_id)
用户权限处理
当用户登录公司时,权限存储在 cookie/session/前端服务中。
为了在前端进行验证,我使用了一个指令,将当前用户权限与所需权限进行比较:
需要数据权限=1 用户=1
至于后端部分,我目前正在向服务器发送每个请求的用户令牌。 此令牌已针对数据库进行验证。 我可以使用它来获取用户权限并存储它们,而不是检查用户是否可以访问/使用某个功能。
除了添加真/假权限之外,我还需要支持数字权限,
例如:限制某个列表中可查看项目的数量。
我想对了吗? 我错过了什么吗?
要求
- 每个公司的无限权限
- 默认权限应适用于所有公司
【问题讨论】:
-
没有信息可以帮助我们回答 2 个问题。
-
对不起,我打错了提交。
-
github 上的许多角度
auth指令......看看它们是如何设置的应该会有所帮助。也检查这个目录ngmodules.org -
您介意澄清一下这些权限是什么吗?用例和细节在这里真的很有价值。你想解决什么问题?
标签: php mysql angularjs privileges