Muchas Gracias por la ayuda... ahora se me aclaró bastante el panorama. El 9 de marzo de 2011 11:32, Carlos Peix <[email protected]>escribió:
> El update model es igualmente vulnerable a la inyeccion de propiedades. > Tenes que utilizar IncludedProperties y ExcludedProperties. > > Otra opcion es utilizar ViewModels que solo incluyan los campos capturados > en esa pantalla. > > ---------------------------------- > Carlos Peix > > 2011/3/9 Andres Guzman <[email protected]> > >> Tal como dices, encontre información al respecto en la cual dicen que una >> forma fácil es recibir el objeto completo pero existe el riesgo de la >> inyeccion de propiedades y la otra es utilizar el formcollection o el método >> UpdateModel que tendre que averiguar en que consiste este UpdateModel o cual >> es su funcion. >> >> >> Pero creo que por lo poco que eh estudiado el tema me parece que lo mejor >> aunque menos eficiente es utilizar algo como esto tanto para cuando quiera >> modificar o crear algun registro >> >> >> public ActionResult Crear(FormCollection formColl) >> { >> string a = formColl["a"].ToString(); >> string b = formColl["b"].ToString(); >> string c = formColl["c"].ToString(); >> >> MICAPADENEGOCIO.Crear(a, b, c); >> >> return View() >> } >> >> O el updatemodel, con esto me evito el riesgo de "injeccion de >> propiedades" >> >> Estare en lo correcto. >> >> Grx >> >> El 9 de marzo de 2011 10:31, Carlos Peix <[email protected]>escribió: >> >>> Lo que dice Leandro es correcto, pero, tal como sospechas, hay variantes >>> y motivos. >>> >>> En primer lugar, cuando recibis el objeto completo, hay que tener cuidado >>> con la "injeccion de propiedades". Esto es, que un chico malo te agregue en >>> el post datos para propiedades qeu vos no queres modificar. Busca >>> informacion sobre los "IncludedProperties" y "ExcludedProperties". Si >>> necesitas mas informacion sobre esto avisanos. >>> >>> Segundo, el binder que completa el objeto crea una nueva instancia, esto >>> puede no ser lo adecuado en una modificacion. Yo utilizo un repositorio para >>> recuperar el objeto y luego la FormCollection o el metodo UpdateModel del >>> Controller. >>> >>> Abrazo >>> >>> ---------------------------------- >>> Carlos Peix >>> >>> 2011/3/9 Andres Guzman <[email protected]> >>> >>>> Pero no existe alguna buena practica que te indique cual utilizar, o >>>> simplemente no hay diferencia en cada una de ellas y la decisión de cual >>>> utilizar queda a cargo del programador. >>>> >>>> >>>> >>>> El 9 de marzo de 2011 09:08, Leandro Halfon >>>> <[email protected]>escribió: >>>> >>>> Andres, >>>>> A mi personalmente me gusta pasar el objeto. >>>>> Obviamente no siempre hace falta, pero en el caso de un ABM, es mas >>>>> facil y rapido para trabajar. >>>>> >>>>> Saludos. >>>>> >>>>> 2011/3/9 Andres Guzman <[email protected]> >>>>> >>>>>> Estimados: >>>>>> >>>>>> Buenas tardes, acudo a Uds. por mi inexperiencia en MVC 2, y necesito >>>>>> saber si alguien me la puede aclarar. Lo que sucede es que no se cual >>>>>> sera >>>>>> la mejor forma de pasar los datos desde la vista al controlador cuando se >>>>>> realize un submit. >>>>>> >>>>>> >>>>>> - si pasar el modelo (public ActionResult Crear(Usuario >>>>>> objUsuario)) >>>>>> - si pasar cada dato por separado (public ActionResult >>>>>> Crear(string nombre, string aPatero, string mail)) y yo despues en mi >>>>>> capa >>>>>> negocio crear el objeto con los diferentes datos >>>>>> - o pasar una Colleccion con los datos del formulario (public >>>>>> ActionResult Crear(FormCollection formColl)) y yo despues en mi capa >>>>>> negocio >>>>>> crear el objeto con los diferentes datos >>>>>> >>>>>> Desde ya cualquier ayuda se agradece. >>>>>> >>>>>> -- >>>>>> Andrés Guzmán >>>>>> 099319111 >>>>>> [email protected] >>>>>> >>>>>> >>>>> >>>> >>>> >>>> -- >>>> Andrés Guzmán >>>> 099319111 >>>> [email protected] >>>> >>>> >>> >> >> >> -- >> Andrés Guzmán >> 099319111 >> [email protected] >> >> > -- Andrés Guzmán 099319111 [email protected]
