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

Sigue leyendo

Custom MembershipProvider Y RoleProvider

El modelo de Proveedores desde su aparición con ASP.NET 2.0 ha sido un tema muy recurrente y se han escrito ríos de tinta sobre sus beneficios, pero ya sea porque realmente nos encontraremos en muchas ocasiones que los proveedores por defecto no cubren todas nuestras necesidades o porque hemos migrado una aplicación donde ya tenemos todos los datos o simplemente porque no tengo tanta imaginación, en este artículo mostraré como poder crear nuestro propio proveedor.

ASP.NET 2.0 ofrece soporte para el modelo de proveedores para diferentes servicios:

  • Membership
    • System.Web.Security.SqlMembershipProvider
    • System.Web.Security.ActiveDirectoryMembershipProvider Sigue leyendo

Custom Control III

Para acabar con esta serie de artículos sobre como crear un control compuesto, veremos como personalizar el renderizado y poder comprobar en tiempo de diseño como quedara realmente nuestro control en la Página.

En los artículos anteriores vimos:

  1. Custom Control I : Como crear los controles secundarios y sus eventos.
  2. Custom Control II: Las Propiedades necesarias para personalizar nuestro control.

Ya tenemos nuestro control terminado y funcionando, pero personalmente me da mucha rabia esos controles que los arrastramos a nuestro formulario y solo te muestran el nombre y no te puedes hacer a la idea de como quedará ralmente en la página.

Me parece que el control desluce mucho y no nos ayuda a la hora de diseñar nuestra página.

Como podemos solucionar esto??? Sigue leyendo

Custom Control II

En el artículo anterior Custom Control I ya vimos como empezar a crear un control compuesto y de que clases teníamos que heredar para dotarle de toda la funcionalidad necesaria.

Ahora seguiremos creando las propiedades para que el usuario pueda personalizar la apariencia entre otras cosas.

La primera propiedad que veremos será la de poder elegir el Nº de calendarios que queremos ver en el control.

[Bindable(true)]
[Category("Datos")]
[DefaultValue(1)]
[Description(" Número de Calendarios a mostrar")]
public int Calendarios
{
     get
     {
         object s = ViewState["Calendarios"];
         return ((s == null) ? 1 : (int)s);
     }
     set
     {
         ViewState["Calendarios"] = value;
     }
}

Como podéis comprobar es una propiedad muy simple que mantiene la información entre postbacks en el estado del control, por defecto siempre mostrará 1 calendario. Siguiendo esta técnica podremos crear otras propiedades como: Sigue leyendo

Custom Control I

Me da la sensación que estamos muy acostumbrados a buscar recursos en Internet  y no pararnos a pensar que a veces no están complicado adaptar los controles existentes a nuestras necesidades.

Basándome en esta suposición publicare un par de artículos para explicar como crear un control personalizado  que he necesitado en un proyecto.

Al final publicare el proyecto para que podáis probar.

El control.

Para una aplicación de reservas por Internet necesitábamos tener un calendario lo suficientemente adaptable para su reutilización.
Por ejemplo el uso de dos calendarios “el típico desde hasta” o el uso de n calendarios para entrar un rango de Temporadas.

Primero crearé un proyecto Web para probar el control en su salsa y después crearé un proyecto de clases para el control personalizado. Sigue leyendo

Iframe Redimensionable con AJAX

Trabajar con iFrames es una tarea bastante ingrata sobre todo cuando te interesa que el contenedor se adapte al tamaño del contenido.
Buscando por internet encontré unos ejemplos muy interesantes:

  1. El de Microsoft http://support.microsoft.com/kb/278469/es
  2. El de los foros  http://www.forosdelweb.com/showthread.php?t=510457

Nos explican como aprovechar el evento onload del BODY para lanzar una función javaScript que recalcule el tamaño.

Pero que pasa si la página del iFrame utiliza Ajax.Net ?????

Pues que como ajax.net carga parcialmente la página no se lanza el evento onload de nuevo.Entonces seguí surfeando por la web y encontré otro artículo muy interesante http://netcodigo.webinfo.es/2007/02/02/controlar-llamadas-asincronas-con-aspnet-ajax/.

Con este artículo conocí la clase PageRequestManager clase encargada de controlar el renderizado parcial de las páginas, tenemos eventos, Métodos y propiedades para proporcionarnos este servicio. Sigue leyendo