情况
我们正在开发一个CakePHP网上商店应用程序,它为我们提供了只为不同域使用一个数据库的可能性。例如,我们在所有使用相同数据库的不同域上都有shop1.com,shop2.com和shop3.com。客户看到不同的商店,但我们可以维护它们并从一个后端处理订单。
问题
我们遇到了CakePHP中ACL系统的问题。我们希望能够为特定商店设置权限,例如,用户“Roger”无法访问商店1 上的“admin_edit”页面,但他确实拥有“admin_edit”页面的权限在商店2 。
在Config / bootstrap.php中使用唯一的商店ID识别每个商店。
可能的解决方案
我已经尝试将名为store_id的字段添加到acos_aros表中。这样可以解决问题,因为权限依赖于执行操作的存储。但是如何以最干净的方式检查此数据库中的store_id?不对CakePHP核心进行更改..
事实
答案 0 :(得分:0)
我在topic上找到了解决问题的方法。该解决方案需要域路由器,并且您拥有所在域的设置值(domain.id)。然后,您可以限制各种控制器中某些数据的访问。将其与cakephp中的ACL集成。