我应如何执行我ACL在网应用程序?[关闭]
-
23-08-2019 - |
题
我一直在思考的网页应用程序,我将开始发展并想知道是否我平时的方法可以改进。
在我的最后几个应用程序,我已经创建了一个表格(见下文)的角色(例如 CREATE POST
, EDIT POST
等等)。 其中每一个有一位域应用到它们,这样我可以简单分配一个用户的某些权利的登记和检查后上(例如 $user->hasRight(CREATE_POST)
).
我想知道,如果有一个更好的办法这一点。它肯定是混乱的时的权利不是专门与用户(我可以有一个表,其中每一项权利是一个布尔列,但这仅仅听起来像一个小小的改进)和发生什么,如果我改变一些吗?
我不是在寻找使用的标准图书馆(应用程序本身是一个学习的经验对我来说:使用postgresql,git等)。 虽然我很乐意采取灵感来自于它们构造我自己-所以如果有什么特别的你认为我应该看一看在请以这样说:)
解决方案
这是基本相同的方法,我需要在我自己的web应用程序(以及一些试验和错误已经进入对我来说)。唯一的区别是,我可能会使用具有不同的权限列,所以,如果你想添加以后更多的权限,可以在表中。在整数使用BITS限制你到一个固定数量的权限,即一样多的位有在整数。通常,这将是32,我想可能是够了,但我不想限制自己的方式。
有关它的价值,这也是phpBB的用途(权限表列),如果它不够好,可以说是最流行的PHP Web应用程序,它可能是配不上你的模型; - )
其他提示
我相信你已经找到phpgacl了,但这里的情况下,你没有一个链接。它可以是一个粗一点在第一绕到你的头,肯定库是棘手的(耗时)落实到项目,但文档和演示是很好的参考点。
ACL接近在web应用中,一般地,已经讨论了,例如这里。
不隶属于 StackOverflow