我一直在思考的网页应用程序,我将开始发展并想知道是否我平时的方法可以改进。

在我的最后几个应用程序,我已经创建了一个表格(见下文)的角色(例如 CREATE POST, EDIT POST 等等)。 其中每一个有一位域应用到它们,这样我可以简单分配一个用户的某些权利的登记和检查后上(例如 $user->hasRight(CREATE_POST)).

我想知道,如果有一个更好的办法这一点。它肯定是混乱的时的权利不是专门与用户(我可以有一个表,其中每一项权利是一个布尔列,但这仅仅听起来像一个小小的改进)和发生什么,如果我改变一些吗?

我不是在寻找使用的标准图书馆(应用程序本身是一个学习的经验对我来说:使用postgresql,git等)。 虽然我很乐意采取灵感来自于它们构造我自己-所以如果有什么特别的你认为我应该看一看在请以这样说:)

有帮助吗?

解决方案

这是基本相同的方法,我需要在我自己的web应用程序(以及一些试验和错误已经进入对我来说)。唯一的区别是,我可能会使用具有不同的权限列,所以,如果你想添加以后更多的权限,可以在表中。在整数使用BITS限制你到一个固定数量的权限,即一样多的位有在整数。通常,这将是32,我想可能是够了,但我不想限制自己的方式。

有关它的价值,这也是phpBB的用途(权限表列),如果它不够好,可以说是最流行的PHP Web应用程序,它可能是配不上你的模型; - )

其他提示

你可以看一下文件的春季安全(原Acegi),这是一个广泛使用的Java ACL的框架。

该文件详尽无遗,也描述了各种考虑因素制成的设计的机器人身份验证和授权。即使没有使用Java这是值得一读。

你可以查看 索引页面 得到一个概述和一个印象的是什么Acegi并(不)做。您还可以直接跳到 授权概念 或甚至到了 数据库方案.

我相信你已经找到phpgacl了,但这里的情况下,你没有一个链接。它可以是一个粗一点在第一绕到你的头,肯定库是棘手的(耗时)落实到项目,但文档和演示是很好的参考点。

PHP通用访问控制列表

Zend框架 有一个 ACL 这是类似于什么你想做的。

ACL接近在web应用中,一般地,已经讨论了,例如这里

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top