2010-12-11 170 views
7

我的房地产PHP应用程序有如下的用户群体,实施ACL我的PHP应用程序

管理员,版主 代理

我想指定以下权限下面的用户。

管理员 - >

  • 可以创建版主,
  • 可以创建代理,
  • 可以插入属性,
  • 可以更新属性,
  • 可以删除属性

因此,管理员将具有所有权限,简而言之,Admin在这里将是superAdmin

我想为主持人分配有限的权限,因此分配给代理人。

我很困惑如何为此创建数据库以及如何在我的PHP应用程序中实现它。

谢谢

回答

11

这听起来像是你将需要一个基于角色的访问控制系统。开发一个不是 确实是一项微不足道的任务,因此,如已经暗示的那样,找到一个框架或者现成的课程,这个工作在开始时是值得的。

Role Based Access Control

http://www.tonymarston.net/php-mysql/role-based-access-control.html

http://www.sqlrecipes.com/database_design/fine_grained_role_based_access_control_rbac_system-3/

http://www.sitepoint.com/forums/showthread.php?threadid=162027

你应该创建一个表wher你必须定义所有类型的角色。

,为用户

一个表涉及到不同的用户不同的角色通过连接两个表。 和一些这样的事情......

+0

使用像cakephp或zend这样的框架。他们拥有内置ACL的组件库,并且易于学习 – 2010-12-11 07:39:32

0

,我已经在过去所做的这个问题的方法是在有访问级别(管理员,版主,和代理)在数据库中创建一个用户表。

然后,如果您有菜单系统,请执行检查以查看哪些链接需要什么特权...管理员将看到所有链接,主持人只会看到他/她应该访问的链接,而代理人只会看到他们应该看到什么。

另外,在您可能希望限制用户的页面上,您需要检查用户访问级别。如果他们通过,他们会看到页面,如果没有,他们将被重定向或JavaScript错误将需要弹出。

类似访问级别的东西可能会让你把它存储在cookie中,因为你可以减少对数据库的调用。

希望这有助于 迈克

+3

...你的意思是一个cookie,他们可以随意修改以增加他们的访问级别? – mpen 2010-12-11 07:35:27

+0

真正的Cookie有点不安全,但是你可以通过检查数据库来验证。我必须构建的大多数应用程序都是针对内部员工的,除了查看其他页面外,没有什么可以获得的。更别说所有的东西都被记录了,所以即使你绕过了一些检查,它也会记录你的页面命中。我很高兴它有帮助。我希望继续在这个论坛上提供帮助。 – Psycorpse 2010-12-13 06:30:03