我一直在使用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