Zend 2使用数据库进行单独访问控制

时间:2015-05-27 23:10:47

标签: mysql zend-framework2 acl

我理解ZF2中RBAC的概念,即使在配置文件中定义了ACL。但现在我想让一些应用程序模块可供个人用户使用。例如。用户“foo@bar.com”可以使用模块A和C,用户“bar@foo.net”可以使用A和B等等。我可以在MySQL数据库中实现这一点,但我怎么能在ZF2中做到这一点?我得到了一个带有“isAllowed”函数的ACLService类,其中比较了角色,这是引入某些数据库的正确位置吗?

1 个答案:

答案 0 :(得分:0)

简而言之,解决方案可能是:

您引入了plt.draw() # you need this to get the edge color lines = np.array(surf2.get_edgecolor()) surf2.set_edgecolor(lines*np.array([0,0,0,0])+1) # make lines white, and keep alpha==1. It's an array of colors like this: [r,g,b,alpha] 表和user_role表。 在role_privileges表格中,您将user_roleuser_idemail(唯一用户标识符)与username相关联。

在您的role表格中,您将role_privileges与一个或多个role相关联(在您的情况下为privileges,但它也可能是控制器名称或路线或者你想管理的任何事情。)

您还可以跳过module表并在配置中定义权限。那决定取决于你......

如果您不想编写所有代码,那么有几个可用的ZF2模块可以实现这一点。