2012-06-26 24 views
2

,因爲symfony集的一部分,我需要執行此任務:symfony的:做數據庫連接確實需要root用戶

php app/console doctrine:schema:update --force 

,如果我在app/config/parameters.ini指定用戶不具有所有權限哪些失敗。這很公平,因爲如果你想更新模式,你需要足夠的權限才能進行受限制的操作,例如刪除/修改表格。

但是,我擔心的是,在應用程序的常規使用中,同樣的數據庫用戶也將被使用。我認爲這是一個安全漏洞。

我該如何避免這種情況?

-

額外的信息:

Symfony 2 : multiple and dynamic database connection

這個問題表明我怎麼可以指定Symfony的使用多個數據庫。這對我有用嗎?我並不需要能夠在數據庫之間切換,但只需指定應用程序在運行時使用受限用戶;但是,在系統管理時間中,我需要能夠使用root權限。

回答

2

在config.yml中,使用root用戶。這將從控制檯和開發模式工作。

doctrine: 
      dbal: 
      driver: %database_driver% 
      host:  %database_host% 
      port:  %database_port% 
      dbname: %database_name% 
      user:  root 
      password: pw 
      charset: UTF8 

在config_prod.yml中,添加相同的配置塊,但更改用戶名/密碼。然後,當應用程序在生產模式下運行時,它將使用權限較低的用戶。

相關問題