我一直在使用cakephp来创建Web应用程序。在我目前的项目中,有两个数据库用户为管理员另一个用于站点用户,我如何配置cakephp以便管理员可以使用更多的数据库操作权限登录到站点?cakephp:为管理员用户单独访问数据库
谢谢
我一直在使用cakephp来创建Web应用程序。在我目前的项目中,有两个数据库用户为管理员另一个用于站点用户,我如何配置cakephp以便管理员可以使用更多的数据库操作权限登录到站点?cakephp:为管理员用户单独访问数据库
谢谢
我同意。有时,在应用程序层处理权限比在数据库层处理更好。不过,如果你真的,真的想在你的数据库的安全性的额外层为好,那么你应该建立多个数据库连接:
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'normaluser',
'password' => '',
'database' => 'db',
'prefix' => '',
);
var $admin = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'adminuser',
'password' => '',
'database' => 'db',
'prefix' => '',
);
然后可以使用$this->ModelName->setDataSource('admin')
如果用户是在管理部分,或任何你可能施加的条件。
我建议你看看admin_
前缀路由。 CakePHP可以让你轻松处理管理权限。 Prefix Routing此外,您可以在用户表中添加一个字段来指示用户的角色,并根据当前前缀进行检查。
最强大的解决方案将有可能被设置访问控制列表(ACL)。这将允许您根据您指定的用户角色委派权限。
例如,管理员的group_id为1,用户的group_id为2.然后,您可以允许管理员访问您的Web应用程序中的某些操作。
这是关于此功能的蛋糕文档。 http://book.cakephp.org/view/1242/Access-Control-Lists