2013-12-02 4 views
2

Я использую grails Jasypt Encryption plugin для шифрования моих данных в БД.Jasypt: читать конфигурацию из внешнего файла

Если установить jasypt конфигурации в моем файле Config.groovy как:

jasypt { 
    algorithm = "PBEWITHSHA256AND256BITAES-CBC-BC" 
    providerName = "BC" 
    password = "myPassphrase" 
    keyObtentionIterations = 1000 
} 

, то все работает нормально.

Но если я переместлю конфигурации jasypt во внешний файл, как указано в jasypt doc(External Config Files in Grails), тогда эта конфигурация не будет доступна.

Как получить доступ к внешнему файлу конфигурации jsypt?

Примечание: - Использование Ubuntu

+0

Не могли бы вы показать часть из вашего Config.groovy, где вы настраиваете внешнюю конфигурацию jasypt? –

+0

Я следую этой ссылке (https://bitbucket.org/tednaleid/grails-jasypt/wiki/Home смотри раздел: - Внешние файлы конфигурации в Grails). Я никогда не читал внешний файл конфигурации, поэтому я не уверен, что делаю это правильно. – user1690588

ответ

2

Поскольку ваш блок конфигурации Jasypt использует синтаксис ConfigSlurper, ваш внешний файл конфигурации должен иметь расширение .groovy (например, .jasypt.groovy). Или вы можете переключиться на синтаксис Java .properties.

+0

Спасибо Andrew, '.jasypt.groovy' отлично работает. Ниже приведен мой рабочий файл '' файл: $ {System.getenv ('ENCRYPTION_CONFIG_LOCATION')} "?:" File: $ {userHome} /. Jasypt.groovy "', отлично работает и для системной переменной. БЛАГОДАРЯ..,. – user1690588

0

Если вы просто скопировать вставили этот раздел:

def configFIlePath = System.getenv('ENCRYPTION_CONFIG_LOCATION') ?: "file:${userHome}/.jasypt" 
grails.config.locations = [configFilePath] 

обратить особое внимание на опечатка: в первой строке должно быть configFilePath с более низким -case i !!

+0

Пока он не читает конфигурационный файл. Он не показывает мне сохраненные значения в БД. Если хотите, я могу дать вам свой примерный проект. – user1690588