Ros*_*oss 7 php acl rights-management access-control
我一直在思考我即将开始开发的网络应用程序,并想知道我的常用方法是否可以改进.
我在去年的一些应用程序,我创建的角色(如表(见下文)CREATE POST,EDIT POST等),每个都应用了一个位域,所以我可以简单地分配用户的某些权利的登记和检查他们以后(如$user->hasRight(CREATE_POST)).
我想知道是否有更好的方法.当权利没有明确地链接到用户时,我肯定会感到困惑(我可以有一个表,其中每个权利都是一个布尔列,但这听起来只是一个很小的改进) - 如果我改变一些,会发生什么?
我不打算使用标准库(应用程序本身对我来说是一种学习体验:使用postgresql,git等)虽然我很乐意从他们那里获取灵感来构建我自己的 - 所以如果有什么特别的你认为我应该看看请说出来:)
这基本上与我在自己的网络应用程序中采用的方法相同(并且对我来说进行了一些尝试和错误)。唯一的区别是,我可能会使用一个具有不同权限的表作为列,这样如果您想稍后添加更多权限,就可以。使用整数中的位会将您限制为固定数量的权限,即与整数中的位数一样多。通常情况下,我认为 32 可能就足够了,但我不喜欢这样限制自己。
就其价值而言,这也是 phpBB 使用的模型(权限作为表列),如果它对于可以说是最流行的 PHP Web 应用程序来说足够好,那么它可能对您来说足够好;-)
| 归档时间: |
|
| 查看次数: |
5559 次 |
| 最近记录: |