我正在处理的网站主要是安全数据输入,我正在使用以下工作流程:
我想知道是否可以将nHibernate设置为在将所有文本字段发送到SQL之前对其进行解码,而无需手动解码每个文本字段。我想这样做是因为我在SQL中生成的报告包含编码并且不可读。
同样,我正在寻找某种全局设置,让nHiberate在将所有文本字段发送到SQL之前对其进行解码。
或者也许是在生成报告之前解码的方法?
有没有人有任何想法?
答案 0 :(得分:1)
您可以在设置/获取属性时创建编码/解码的自定义类型。您需要从IUserType派生并使用NHibernate注册您的类型。这是一个加密字符串
的例子https://gist.github.com/jasondentler/1170933#file-encryptedstring-cs
或者你可以编写EventListeners并在那里进行编码/解码。
以下是有关EventListeners的文档
http://nhibernate.info/doc/nhibernate-reference/events.html
如果我是你,我会沿着自定义类型路线前进。它维护的代码较少,而且更符合您的需求。