Liferay 7.1.1 GA2 - Как зашифровать содержимое базы данных? - PullRequest
0 голосов
/ 14 января 2019

Я использую Liferay CE Portal 7.1.1 GA2 с MySQL CE и хочу добавить шифрование для некоторых пользовательских данных. MySQL предлагает только TDE для Enterprise Edition, поэтому я хочу использовать шифрование на уровне столбцов .

В Hibernate я бы использовал аннотацию @ColumnTransformer. Есть ли способ в Liferay CE 7.1.1 GA2 изменить сущность на автоматическую?

Я бы предпочел не делать это на стороне Java, но если есть механизм ловушек или что-то подобное, что я могу использовать, было бы здорово знать.

1 Ответ

0 голосов
/ 15 января 2019

Я ничего не знаю о том, что делает автоматическое и прозрачное шифрование. Вы можете вручную реализовать ModelListener для инкапсуляции требуемой реализации.

Под капотом ServiceBuilder использует Hibernate, но я не знаю никакой поддержки @ColumnTransformer. Особенно, когда он должен пережить еще один запуск генератора кода. Однако вы можете захотеть взглянуть на сгенерированный код на уровне персистентности и просто попробовать его. Помните, что в будущем будет много прогонов генератора кода, так что вы должны не только проверить, можете ли вы вставить аннотацию, но также посмотреть, выживет ли она при следующем запуске генератора.

В качестве еще одного - но сложного в обслуживании - варианта, возможно, вы захотите взглянуть на шаблоны ServiceBuilder. Я бы воздержался от крупномасштабных изменений, но если изменение будет минимальным, возможно, есть смысл внести это изменение. В этом случае я бы порекомендовал вам поработать с Liferay (на форумах Liferay и Issetracker), чтобы попытаться включить его в следующую версию ServiceBuilder.

...