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]

Responder a