我正在研究PHP + MySQL社交网络应用程序,现在我需要为全局(所有项目)和/或全局项目设置不同的访问控制(读取,创建,编辑,删除)或自己的项目(自己创建的项目)为每个模块分组或特定用户。Web应用程序中多个用户的访问控制
有没有人有这样做的建议(表结构等)?
还好这里我提供更多的细节,目前我有一个tbl_module,tbl_user和tbl_user_role。每个用户和角色可以对特定模块有不同的访问权限。
- 阅读
- 更新
- 创建
- 删除
和全局访问或自止(自行创建自己的账户或记录)devided。
和我目前的做法:我创建另一个表来保存访问细节:
- acl_uid
- mod_id(FK模块UID)
- target_id(FK用户uid或角色UID)
- acl_type(标识目标id参考的用户/角色)
- acl_read
- acl_update
- acl_create
- acl_delete
acl_read,acl_update,acl_create,acl_delete值范围:
- 0否认
- 1允许
- 2指较低优先级检查(如果用户具有值2然后参考角色)
- 3自己只有
我相信,更有效的方法来解决这个问题,或者可能改善我目前的做法。
感谢您的回复。