Ningún problema, podés colgarlo aquí o si tenés algún post linkearlo. También está nhforge.org para realizar posts por la comunidad.
2012/3/1 Carlos Casado <[email protected]> > El problema reside en que es una petición a posteriori de la creación de > la aplicación, y todas las consultas las hacemos por criteria, el trabajo > que conlleva realizar una modificación en todas y cada una de las consultas > y subconsultas para codificarlas a HQL para un único cliente en concreto me > parece que no era la opción adecuada. > > En su lugar (fallo mio por no haber contestado antes) lo que he hecho ha > sido crear un interceptor, capturar la sentencia antes de que la mande a la > base de datos y "parsear" ese SqlString poniendo el "toolkit.decrypt" en > los nombres de las columnas. Si la respuesta os llama la atención y os > parece una solución acertada puedo poner el interceptor por aquí. > > .-Salu2-. > > El 1 de marzo de 2012 15:20, Dario Quintana <[email protected] > > escribió: > > Eso lo podés trabajar con HQL de manera facil >> >> http://nhforge.org/blogs/nhibernate/archive/2009/03/13/registering-freetext-or-contains-functions-into-a-nhibernate-dialect.aspx >> >> 2012/2/23 frikinside <[email protected]> >> >>> Hola, muy buenas. >>> >>> Llevo trabajando con NHibernate algún tiempo y recientemente me ha >>> surgido una duda... >>> Tengo que encriptar el contenido completo de una base de datos oracle, >>> y por supuesto, es deseable la posibilidad de hacer likes en las >>> cadenas de texto aunque estén encriptadas. >>> >>> Muy a mi pesar las encriptaciones transparentes no permiten ese like, >>> ya que se realizan después de la consulta, eso si, son muy cómodas al >>> definir un usertype de encriptación, es "automático". No obstante, no >>> suple mis necesidades actuales. Por tanto habría que hacerlo desde la >>> base de datos, despues de hacer unas pruebas y demás, cree unos >>> triggers en la base de datos para el insert y update con lo que cuando >>> recibe un insert, introduzco los datos directamente encriptados, ahora >>> bien, soy incapaz de crear un trigger para el select, al parecer no se >>> puede. Con lo que tendría que utilizar sentencias "personalizadas". >>> Ahora bien, es un proyecto de grandes dimensiones, donde todas las >>> consultas se realizan con criteria, ninguna con HQL ni SQL, por lo que >>> no tengo una cadena a la que "meterle mano". Habría algún modo de >>> decirle a NHibernate que me utilice una función en el campo a la hora >>> de hacer un select? >>> >>> Por ejemplo, si yo hago un Get(Dictionary condiciones) donde >>> condiciones sea {"Nombre","Pepe"}, la SQL que me crearía nhibernate >>> (no exactamente, pero se entiende igual) sería: >>> >>> Select Nombre FROM tabla WHERE Nombre='Pepe'; >>> >>> Para poder realizar likes y desencriptar los datos para hacer las >>> select desde la base de datos, mis consultas deben llevar el siguiente >>> formato: >>> >>> Select toolkit.decrypt(Nombre) FROM tabla WHERE >>> tollkit.decrypt(Nombre) = 'Pepe'; >>> >>> Por lo que me pregunto si hay algún modo con NHibernate (que no Fluent >>> NHibernate) de indicarle mediante criteria que el nombre de la columna >>> debe de llevar el llamamiento a dicho procedimiento? Es decir, se >>> puede indicarle a NHIbernate que "ColumName" = >>> "toolkit.decrypt(ColumName)" para las select? >>> >>> GRACIAS de antemano. >>> >>> -- >>> Para escribir al Grupo, hágalo a esta dirección: >>> [email protected] >>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> >> >> >> >> -- >> Dario Quintana >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano > > > > > -- > .-Salu2-. > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Dario Quintana -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
