Perfiles de Usuarios ASP.NET & MVC

Una de las dudas más habituales en los foros de ASP.NET, es como mantener una variable disponible para un usuario. Lo primero que se nos puede pasar por la cabeza es utilizar la sesión para guardar esta información, pero desde ASP.NET 2.0 tenemos otras alternativas más adecuadas para estas cosas y además nos puede servir tanto para usuarios anónimos, como para usuarios autentificados.

!! No tenemos que utilizar la sesión para todo !!!  tanto nos sirve para ASP.NET como para ASP.NET MVC

Usuarios autentificados.

Una vez el usuario se ha autentificado, se asocia el perfil a la identidad del usuario en el contexto actual system.web.httpcontext.user

Usuarios anónimos

El perfil para los usuarios anónimos no está habilitada de forma predeterminada y hay que especificarlo de forma explícita.

Para poder tener estas propiedades del perfil habilitadas para los usuarios anónimos ASP.NET crea una cookie donde se establece una identidad única para el usuario y poderlo identificar cada vez que el usuario acceda a la página web. Esta cookie tiene una caducidad de 70 días y se renueva automáticamente cuando el usuario accede al sitio.

Si necesitamos controlar cuando un usuario pasa de ser anónimo a usuario autentificado, podemos controlar este paso en el momento que el usuario se autentifica y se lanza el evento MigrateAnonymous incluido en el fichero Global.asax.

Tipos Soportados

Si no se especifica el tipo del dato que queremos mantener, por defecto esta propiedad se guardara como string, pero podemos guardar tipos escalares (texto, números, fechas) tan solo especificando el tipo en la configuración de la propiedad. Sigue leyendo

ASP. NET MVC como Servicio REST

Cada vez más en nuestras aplicaciones web necesitamos simplificar nuestros desarrollos y adaptar nuestros recursos a las necesidades del momento. Actualmente la web demanda aplicaciones con interfaces ricas y servicios que retornen la mínima información posible para poder ser consumidas directamente desde el cliente con el mínimo esfuerzo posible.

La Aparición de los servicios REST a facilitado en mucho este tipo de demanda en detrimento de los servicios que utilizan SOAP y WSDL.

Porque no utilizar una aplicación ASP.NET MVC como un servicio REST en vez de los clásicos servicios de WCF si se adapta muchísimo mejor a los principios REST.

Principios REST

  1. Utilizar los métodos HTTP de forma Explícita
  2. Exponer Uris intuitivas
  3. Servicios sin estado “stateLess”
  4. Negociación de contenido

Crearé una aplicación MVC para consumir desde un cliente script utilizando JQuery y AJAX para ver que cumple con todas nuestras necesidades.

1. Métodos HTTP de forma Explícita “CRUD”

  • GET       –>  Consultas
  • POST    –>  Inserción
  • PUT      –>  Actualización
  • DELETE –> Eliminación

Que mejor que MVC para poder supervisar desde el controlador que petición es demandada dependiendo del método HTTP para realizar la acción correcta. Sigue leyendo

[Tip/Trick] ASP.NET MVC & PDF

Uno de las preguntas que se suele encontrar en los foros MSDN  es como mostrar un fichero PDF desde ASP.NET y como últimamente he estado trabajando con MVC y me parece muy interesante voy a mostrar como se puede hacer esto desde el controlador.

Normalmente podemos optar por dos estratégicas a la hora de mostrar un documento PDF.

1. Mostrar un fichero

Si tenemos un fichero pdf que queremos mostrar crearemos un controlador que se encargue de mostrar este recurso.

 

Con MVC tenemos un método del controlador que nos facilita muchísimo el trabajo File que se encarga de enviar el contenido de un fichero binario a la respuesta y solo tenemos que indicar el tipo “contentType” para que se muestra correctamente. Sigue leyendo