2

作为 Symfony 设置的一部分,我需要执行以下任务:

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

如果我指定的用户app/config/parameters.ini没有所有权限,则会失败。很公平,因为如果您想更新架构,您将需要足够的权限才能进行受限操作,例如删除/更改表。

然而,让我担心的是,在应用程序的常规使用中,同样的数据库用户也将被使用。我认为这是一个安全漏洞。

我应该如何避免这种情况?

--

额外信息:

Symfony 2:多动态数据库连接

这个问题向我展示了如何指定多个数据库供 Symfony 使用。这对我有用吗?我真的不需要能够在数据库之间切换,而只是能够指定应用程序在运行时使用受限用户;但是,在系统管理时,我需要能够使用 root 权限。

4

1 回答 1

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 中,添加相同的配置块,但更改用户名/密码。然后,当应用程序在生产模式下运行时,它将使用权限较低的用户。

于 2012-06-26T15:49:40.667 回答