viernes, 30 de septiembre de 2011

Uso del control LoginView de ASP.NET con los grupos del Directorio Activo de Windows

En el caso de que estemos trabajando con una aplicación web para una intranet es muy útil el poder utilizar los usuarios y grupos del  Directorio Activo de Windows para personalidad la funcionalidad de la aplicación en base al rol del usuario.

Por ejemplo un responsable de área comercial puede tener acceso a información en la pantalla de la ficha de un cliente que un comercial básico no tiene que saber ni siquiera que existe esa información en esa pantalla.

Esto lo podemos hacer fácilmente con el control LoginView. Este control permite crear diferentes paneles de controles en base al rol del usuario que está viendo la información.

Este control dispone de un editor de roles, para poder personalizar, ya no solo entre usuarios anónimos y logeados, sino entre diferentes usuarios y grupos.

El otro paso que tenemos que hacer es indicarle a nuestra aplicación que los grupos y usuarios van a ser los del dominio de windows y así no tener que crearlos nuevamente.
Esto se hace añadiendo en el web.config un proveedor de roles de windows

Con todo esto lo que conseguimos, es que según el grupo al que pertenezca un usuario en el dominio de Windows, tenga acceso a unos controles dentro de la misma pantalla, diferentes de los de otro usuario que pertenezca a otro grupo.

martes, 27 de septiembre de 2011

Problemas de actualización de XP con WSUS

WSUS, nos quita a los administradores mucho trabajo a la hora de organizar las actualizaciones de los equipos cliente, pero hay veces que algunos equipos se atascan y nos vuelven locos.
En este caso fue un equipo con XP que llevaba tiempo sin actualizarse y había pasado desapercibido porque directamente no aparecía en la consola de administración de WSUS

Después de muchos foros y pruebas esto es lo que hice y que funcionó correctamente "hasta hoy mismo"

1.Verificar que el equipo está en la unidad organizativa correcta y que se le está aplicando la política correcta

2 . En el ordenador con problemas parar el servicio WSUS para borrar la carpeta local de las actualizaciones
• Desde la consola MS-DOS: Net stop wuauserv
• Desde el explorador, Borrar la carpeta C:\Windows\SoftwareDistribution
• Desde la consola MS-DOS, activar el servicio: Net start wuauserv
A los 10 minutos de reiniciar, ya aparece en la consola.

3. Si el equipo con XP no se actualiza. Si el equipo está muy desactualizado o no tiene el SP3 instalado, parece que no se puede actualizar de forma automática, por lo que hay que hacerlo de forma manual:
• Sacamos al equipo de la unidad organizativa donde se le aplica la directiva de WSUS
• Actualizamos las políticas para que nos deje actualizar de forma manual. Desde la consola de MS-DOS: gpupdate /force
• Actualizamos el ordenador con Windows Update, y mucha paciencia
• Una vez actualizado, volvemos a colocar el equipo en la unidad organizativa correcta, para que se actualice automáticamente
• Actualizamos las políticas igual que antes con gpupdate /force

martes, 5 de julio de 2011

Añadir un servicio web a ASP.NET a partir del archivo WSDL

En algunas ocasiones puede resultar interesante añadir un servicio web a un desarrollo que estemos realizando, a partir del archivo WSDL en vez de la ruta web del servicio.
 
Esto puede ser necesario, cuando en tiempo de desarrollo no tenemos acceso a la url del servicio web o cuando estamos enlazando con servicios web de otras tecnologías como SAP
 
El proceso es similar a agregar un servicio web a partir de la url.
  •  Desde el proyecto que queremos utilizar el servicio web añadimos una referencia web.
  • En vez de indicar la url del servicio web indicamos la ruta donde tenemos el archivo wsdl.

Si es correcta, nos mostrará los métodos que están contenidos en el archivo y nos dará la opción de Agregar la referencia. Al pulsar el botón de agregar referencia, Visual Studio creará la clase proxy para enlazar el servicio web y poder utilizarlo en nuestro programa.

A partir de este momento podemos instanciar los objetos que necesitemos en nuestra aplicación web, ya que la referencia web está correctamente establecida
 
Una nota importante. Si nos fijamos en el archivo discomap que ha creado visual studio, veremos que figura la ruta absoluta al archivo wsdl, por lo que tendremos que utilizar la herramienta de construcción de sitios web “Publicar la aplicación” para que no nos dé problemas de rutas a la hora de colgar nuestra aplicación web en el servidor .

 

miércoles, 29 de junio de 2011

SQL injection a la cabeza del top 25 de Errores de Software

Se acaba de publicar -27 de Junio de 2011- en la web de SANS Institute y de CWE el estudio “2011 CWE/SANS Top 25 Most Dangerous Software Errors” (2011 CWE/SANS Los 25 Errores de Software más Peligrosos).

Me llama la atención que el más detectado haya sido el SQL Injection, ya que es un tema que cuando hablas de seguridad en la programación de aplicaciones, siempre se hace referencia.

En el estudio presentan el punto CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') (Impropia Neutralización de Elementos Especiales usados en un SQL Command ) con una descripción del problema, ejemplos de cómo se produce el ataque y técnicas de programación para evitar los casos más obvios.

SQL Injection consiste en introducir código SQL en casillas de texto de aplicaciones web con intención de ejecutar sentencias contra la base de datos que no están permitidas por el diseño de la aplicación.
Un artículo interesante sobre este problema lo podemos encontrar en la Wikipedia, Inyección SQL

lunes, 27 de junio de 2011

Como quitar la ventana de selección de escáner Epson cada vez que vas a escanear

Epson es una compañía que tiene gran cantidad de escáneres en el mercado y utiliza el mismo software de escaneo para todos ellos. La ventaja de este sistema es evidente, una vez que sabes cómo manejar el programa de escaneo, aunque cambies de escáner, no vas a tener que aprender un programa nuevo.


El problema viene cuando después de instalar el escáner nuevo, utilizando el disco de instalación, te encuentras con que en vez de abrir el programa de escaneo directamente como hacia hasta ahora, abre primero una ventana de selección de escáner mostrando el nuevo y el viejo (que ya está a buen recaudo en el punto limpio). Sé que es una tontería, pero es un poco incordio, sobre todo si lo utilizas mucho.

La solución es sencilla. Vamos a ver qué hace cuando inicias el programa de escaneo.

Cuando instalas el escáner te crea un archivo de tipo “ds” con las características del escáner. El programa de escaneo busca en la carpeta “WINDOWS\twain_32\ESCNDV” qué escáneres hay en el sistema y si encuentra más de uno, muestra la ventana para que le indiquemos que escáner tiene que mostrar.

Si eliminamos o renombramos el archivo “ds” del escáner que ya no tenemos, entonces al iniciar la aplicación no detecta más que uno e inicia directamente sin mostrar la ventana de selección de escáner.

lunes, 6 de junio de 2011

¿qué hacemos cuando instalamos un programa?

En la mayoría de los casos, instalar un programa consiste en seguir un asistente que nos va indicando los pasos para que el programa funcione perfectamente.
El modo de iniciar la instalación puede variar, por ejemplo cuando descargamos un programa de internet, el navegador nos pregunta si queremos guardarlo o instalarlo, iniciando así la instalación. En otros casos, por ejemplo un juego que tenemos en un CD, al introducirlo en el lector, se ejecuta el asistente para guiarte. En general siempre tendremos un programa de instalación que va ser el que tendremos que ejecutar (doble clic) para que se cargue correctamente.
La instalación del programa implica que a partir del paquete de instalación (el programa instalador que ejecutamos) se van a copiar archivos a la carpeta Archivos de programa otros van a la carpeta Windows, se añaden accesos directos en el escritorio y en el menú de inicio y además se modifica el registro de Windows con la nueva información.
Para instalar el programa en otro ordenador, no vale con copiar la carpeta generada en Archivos de Programa, es necesario ejecutar el instalador en el nuevo ordenador.
Puntos de restauración
Antes de instalar programas que afectan directamente al funcionamiento de Windows, como por ejemplo los antivirus, es recomendable generar un punto de restauración. Los puntos de restauración almacenan el estado de Windows (programas instalados, configuración del entorno, registro de Windows) en el momento que se generan y sirven para poder volver a ese momento si tenemos cualquier problema en el ordenador.
Para generar un punto de restauración tenemos que ir a Panel de control\Sistema y seguridad\Sistema seleccionar del panel de tareas Protección del Sistema.
En la ventana que se abre de propiedades del sistema tenemos todo lo relacionado con los puntos de restauración incluyendo el botón Crear
Desde esta misma ventana, pulsando el botón Restaurar sistema, podemos volver Windows a un estado anterior en base a los puntos de restauración creados
Sólo afecta a los programas, nuestros datos (fotos, documentos) no desaparecen.
Desinstalación
Desde el momento que el proceso de instalación lo que hace es copiar los archivos por varias carpetas de windows y además modificar el registro de windows, el proceso de desinstalación es algo más complicado que eliminar la carpeta de Archivos de programa.
La desinstalación de un programa pasa por deshacer el trabajo realizado en el proceso de instalación. Como deshacer este trabajo de forma manual es prácticamente imposible, existe una herramienta que realiza el trabajo: Programas y Características de Panel de Control.
Esta utilidad integrada en el panel de control de Windows 7, muestra todos los programas instalados en nuestro ordenador. Seleccionando el programa vamos a poder hacer las siguientes acciones 
  •  Desinstalar: Quitar el programa de nuestro ordenador
  •  Cambiar: En algunos casos podemos quitar o agregar partes del programa. Sólo disponible en programas grandes, como por ejemplo Office.
  •  Reparar: Algunos programas tiene la posibilidad de volver a la instalación inicial