【发布时间】:2008-10-21 00:38:59
【问题描述】:
我正在开发一个 PHP + MySQL 社交网络应用程序,现在我需要为全局(所有项目)和/或自身项目(自己创建的项目)设置不同的访问控制(读取、创建、编辑、删除) ) 为每个模块分组或特定用户。
有没有人对此提出建议(表格结构等)?
好的,我在这里提供更多细节,目前我有一个 tbl_module、tbl_user 和 tbl_user_role。每个用户和角色可以对特定模块具有不同的访问权限。
- 阅读
- 更新
- 创建
- 删除
并由全局访问或仅限自己(自己的帐户或自己创建的记录)划分。
和我目前的方法:我创建另一个表来保存访问详细信息:
- 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 只自己
我相信有更有效的方法来解决这个问题,或者可以改进我目前的方法。
感谢您的回复。
【问题讨论】: