Doctrine - 使用 dql 侦听器进行加密
我试图通过使用 Doctrine DQL Hooks 添加对 mysql AES_ENCRYPT
(和 AES_DECRYPT
)的调用来加密某些数据库字段。
对于 SQL SELECT
的,我的 Doctrine_Record_Listener
类中有一个 preDqlSelect()
,它会遍历选择字段中的每个参数,并添加一个AES_DECRYPT()
用于加密字段。
但是,看起来在学说模型类上调用 save()
仅调用 preSave()
侦听器,而不调用任何 preDql* 侦听器。
任何人都可以建议一种让它发挥作用的方法或更好的方法吗?
谢谢
I am attempting to encrypt certain database fields by adding a call to mysql AES_ENCRYPT
(and AES_DECRYPT
) using Doctrine DQL Hooks.
for SQL SELECT
's I have a preDqlSelect()
in my Doctrine_Record_Listener
class, which goes through each parameter in the select fields, and adds a AES_DECRYPT()
for encrypted fields.
But, it looks like calling save()
on a doctrine model class only calls the preSave()
listener and does not call any of the preDql* listeners.
Can anyone suggest a way of getting this to work or a better way of doing this?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了检查这些 dql 回调,您必须显式打开它们。因为这会为每个查询增加少量开销,所以默认情况下它是关闭的
Doctrine 1.2 事件监听器
In order for these dql callbacks to be checked, you must explicitly turn them on. Because this adds a small amount of overhead for each query, it is off by default
Doctrine 1.2 Event listeners