2010-10-21 6 views
0

Je tente de crypter certains champs de base de données en ajoutant un appel à mysql AES_ENCRYPT (et AES_DECRYPT) en utilisant Doctrine DQL Hooks.Doctrine - cryptage avec dql listeners

je l » ai SQL SELECT un preDqlSelect() dans ma classe Doctrine_Record_Listener, qui passe par chaque paramètre dans les champs sélectionnés, et ajoute un AES_DECRYPT() pour les champs chiffrés. Mais, il semble que l'appel save() sur une classe de modèle de doctrine appelle uniquement l'écouteur preSave() et n'appelle aucun des écouteurs preDql *. Quelqu'un peut-il suggérer un moyen de faire fonctionner cela ou une meilleure façon de le faire?

Merci

Répondre

0

Pour que ces callbacks DQL à vérifier, vous devez explicitement les activer. Parce que cela ajoute une petite quantité de frais généraux pour chaque requête, il est désactivé par défaut

$manager->setAttribute(Doctrine_Core::ATTR_USE_DQL_CALLBACKS, true); 

Doctrine 1.2 Event listeners