首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ACL数据库的设计

ACL数据库的设计
EN

Stack Overflow用户
提问于 2012-02-11 18:04:31
回答 1查看 967关注 0票数 1

对于我正在进行的项目,我需要为用户、几种不同类型的项目以及类似acl的权限系统设计一个数据库。

基本上,这就是我想要做的(要复杂得多,但这足以说明我的意思):

用户:(id,name,password)

  • article:(id,title,body)

  • 图像:(id,title,file_name)

  • permission:(item_type,item_id,user_id,读,写,管理)

)

(itemType和itemId是一个组合外键,引用文章或图像,具体取决于item_type)

有些人可能会说,使用权限表不是一个好主意,也可以通过向文章和图像添加读、写和管理列来实现这一点,但请记住,可能有多个用户对同一项具有不同的权限。放弃这一点是不可能的。

在我看来,这样做会很好。但是当涉及到实现时,我找不到一个php orm来给我一些自由。这让我相信我可能做错了什么。

因此,我的问题是:实现ACL和设计数据库的正确方法是什么?它是如何为企业级应用程序完成的?是否有任何非数据库ACL解决方案?

EN

回答 1

Stack Overflow用户

发布于 2012-02-11 18:09:59

您只需有一个many-to-many表,它将将用户绑定到权限,并可能是解决瓶颈的对象。它将使用- user_id、permission_id和object_id将引用3个不同的表。

意思是:

代码语言:javascript
复制
user_id(references users),permission_id(references permissions),object_id (references image?)
1 ,2(read),2
1 ,3(write),2
1 , 4(exec),2

希望能帮上忙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9242630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档