17.11.06

WPF y ClickOnce

Windows Presentation Foundation también utiliza ClickOnce como el mecanismo de deployment, tanto para XAML apps como para XBAPs.

Este articulo (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwinforms/html/clickoncetrustpub.asp) es lo mejor que he leído para entender a fondo y rápidamente ClickOnce.

[Costa Rica: Estaré dando una charla sobre ClickOnce el próximo 21 de nov 06 para CRUG.NET]

2 comentarios:

Jonathan J. dijo...

Saludos,

Una de las caracteristicas que me preocupa de la seguridad de ClickOnce es que no soporta el paso a traves de mecanismos de autenticacion web, como lo es Basic Authentication.

Como parte de un servicio que brindamos a uno de nuestros clientes, ellos cuentan con la facilidad de ejecutar las aplicaciones que desarrollamos desde cualquier parte en Internet.

Sin embargo, aun no podemos lograr que ClickOnce autentique al usuario antes de decargar y ejecutar la aplicacion, por lo que nuestra solucion es que la misma aplicacion sea quien solicite las credenciales de autenticacion, y apruebe la misma o no.

La idea no nos parece la apropiada, pues nuestro ideal es separar los mecanismos de seguridad y acceso de la aplicación.

Habra algun "workaround" para resolver esto? o ClickOnce esperaria proximamente fortalecer tal mecanismo?

AW dijo...

Jonathan,

Yo creo que la solución que buscaron es la correcta.

ClickOnce es un mecanismo de deployment y actualización de assemblies y no incluye ningun tipo de mecanismo de autenticación ni autorización.

Estas tareas las debe de realizar el IIS que hace hosting a la aplicación ClickOnce.

Supongamos que tenemos la siguiente estructura de directorios virtuales en IIS:

wwwrooot
|----MyApp
|----MySecureArea
(poner aqui el .application)

Entonces en el web.config de MySecureArea es donde incluiría los módulos de autenticación. Solo los que puedan entrar a esa zona podrán bajar la aplicación.

Cómo ultimo detalle interesante, el hecho de que un cliente haya podido bajar la aplicación, quiere decir que lo estamos autorizando para que la instale y la ejecute. (solo a él) y es por esto que ClickOnce instala las aplicaciones por usuario y no por máquina.