Security.salt проблема - PullRequest
       74

Security.salt проблема

0 голосов
/ 18 января 2020

У меня есть docker контейнер, работающий PHP 7.2.14 и Cake PHP 3.7.9

Проблема, которую я вижу, заключается в том, что по какой-то причине Security.salt пуст. Это стандартная строка в приложении. php file:

'Security' => [
        'salt' => env('SECURITY_SALT', 'mySalt')
],

Когда я проверяю значение в коде с помощью Configure::read('Security.salt'), оно пустое. Если я поставлю error_log(env('SECURITY_SALT', 'blah'));, я вижу blah в файле журнала. Так что это означает, что env() работает правильно, и соль должна быть установлена ​​на mySalt.

Так это ошибка, и как-то Security.salt перезаписывается? Или это поведение по умолчанию, которое используется только для внутреннего использования и устанавливается равным нулю после внутреннего чтения?

1 Ответ

0 голосов
/ 18 января 2020

Или это поведение по умолчанию, которое используется только для внутреннего использования и устанавливается равным нулю после внутреннего чтения?

Так оно и работает, да. Некоторая конфигурация «потребляется» в какой-то момент, в шаблоне приложения 3.7, который по умолчанию равен Cache, Datasources, EmailTransport, Email, Log и Security.salt, см. Ваши приложения config/bootstrap.php file.

https://github.com/cakephp/app/blob/3.7.1/config/bootstrap.php#L150 -L155

Если вы хотите получить доступ к такой конфигурации на более позднем этапе, то вы должны получить к ней доступ через классы, которые его потребляли, в вашем случае класс Security, ie прочитайте его через

\Cake\Utility\Security::getSalt()

См. также

...