CatDotNet como Asociación

Este pasado miércoles acudimos a la cena que organizo CatDotnet, el grupo de usuarios de Cataluña Central para constituirse como asociación legal.


Estamos seguros que este grupo va a dar mucho de que hablar por su materia prima, empezando por su nuevo presidente José Miguel Torres y siguiendo por toda la cúpula como Lleonar del Rio seguro que nos van a sorprender con fabulosas charlas.


Realmente las personas que han cogido las riendas del grupo hacen un equipo impresionante, gente como Lluis Sánchez (Novell, Mono & MonoDevelop Developer Team), Diego Gómez Business Productivity Advisor del Centro Microsoft de Innovación en Productividad, que está situado en Manresa, pero no puedo nombrar a todos porque mi memoria no es tan buena como me gustaría. Pero la mayor sorpresa de la noche fue encontrarme con Daniel Mora que fue mi Carrier Manager por mi paso por Avanade España, una gran profesional y mejor persona “Me prometió que un día contaremos con su presencia en Tarragona, ya no me puedes fallar ;-)”.


También estuvieron presentes en la cena otros megacracks como Vicenç Masanas DNN Core-Localization Team LeaderShip, que esta organizando un nuevo grupo en Gerona y como no Pep Lluis Microsoft MVP y fundador del primer grupo de España.


Con gente como esta tenemos asegurada la buena marcha de los grupos en Cataluña.


Espero que la relación entre los grupos siga por este productivo camino.

Material Presentación WPF

Para los que no pudisteis estar presentes en la charla que nos dio Toni Recio sobre WPF y para los que estuvistes pero os gusto tanto que la queréis volverla a ver, ya tenéis disponible la presentación para descargar como WebCast.


 http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=es-ES&EventID=1032369493&CountryCode=ES


   


Más fotos…


El material de la charla también está disponible:



La presentación de la charla sobre la Evolución de .NET y el CLR también está disponible.



Espero que podáis disfrutar de todo este material y veros en los siguientes eventos.


Cross-Posting desde www.lonetcamp.com


 

Iframe Cross Domain Cookie

Siguiendo con el infierno de los Iframes, hoy intentaremos utilizar el control Login de ASP.NET desde la página de un cliente que utiliza nuestra aplicación embebida.


 Lo primero que podemos pensar, es en que medida nos puede llegar a afectar trabajar con un iframe con el sistema de login que utilizamos con ASP.NET, para eso tenemos que diferenciar los dos pasos esenciales en la seguridad de nuestras aplicaciones.


Autenticación


La autenticación es el proceso mediante el cual se obtienen credenciales de identificación tales como el nombre de usuario y la contraseña, al tiempo que se validan dichas credenciales ante alguna autoridad.

ASP.NET proporciona cuatro proveedores de autenticación:
















Autenticación de formularios
Autenticación de Windows
Autenticación Passport
Autenticación predeterminada


Autorización


La autorización es el proceso que verifica si el usuario autenticado tiene acceso a los recursos solicitados.

ASP.NET proporciona los siguientes proveedores de autorización:








FileAuthorization
UrlAuthorization


Más información en http://support.microsoft.com/kb/306590/es#3


Con esta definición podemos entender que nuestro control login lo que pretende hacer es Autentificar el usuario en nuestra aplicación para poder identificarlo y para eso utilizaremos la Autentificación de Formularios.


Autenticación de Formularios


La autenticación de formularios hace referencia a un sistema en el que la solicitudes no autenticadas se redirigen a un formulario de Lenguaje de marcado de hipertexto (HTML) en el que los usuarios escriben sus credenciales. Una vez que el usuario proporciona las credenciales y envía el formulario, la aplicación autentica la solicitud y el sistema emite un vale de autorización en el formulario de una cookie. Esta cookie contiene las credenciales o una clave para readquirir la identidad. Las solicitudes subsiguientes del explorador automáticamente incluyen la cookie.


Ahora que ya conocemos el mecanismo de autentificación y la manera que tiene para persistir esta información podemos suponer cual será el problema, nuestra aplicación al autentificar al usuario e intentar persistir sus credenciales se encuentra que el dominio que intenta guardar la cookie no es el mismo que esta corriendo la página web, ups ( problema de seguridad – Cross Domain Cookie ).


Miremos como funcionaría la aplicación si no utilizara un Iframe.




  1. La aplicación nos redirige al formulario de Autentificación.
  2. Introducimos nuestros datos para identificarnos.
  3. Si los datos de usuario son correctos nos redirige a la página principal mostrándonos el nombre de usuario

Que pasa cuando hacemos lo mismo desde un iFrame:




  1. La aplicación nos redirige al formulario de Autentificación.
  2. Introducimos nuestros datos para identificarnos.
  3. Como la identificación del usuario ha sido correcto nos redirige a la página principal pero no nos muestra la información del usuario, porque no ha podido guardar la cookie con sus datos.

Para solucionar este problema nos viene a rescatar P3P  “un lenguaje estándar que ofrece a los usuarios una forma sencilla y automatizada de controlar en mayor medida el uso que se hace de su información personal en los sitios Web que visitan”.


Tenemos dos opciones a la hora de utilizar p3p para poder guardar la cookie de usuario con éxito.




  1. Crear una cabecera en nuestro directorio virtual para nuestra aplicación.


  2. Crear la cabecera en el formulario de Login para que solo afecte a esa página.

Nosotros utilizaremos la segunda opción.


    protected void Page_Load(object sender, EventArgs e)


    {


        HttpContext.Current.Response.AddHeader(“p3p”, “CP=”CAO PSA OUR””);


    }



Ya le podemos decir a nuestro cliente que podemos controlar a los usuarios registrados en nuestra aplicación embebida en su sistema. 😉


Cross-Posting desde www.lonetcamp.com