Ya es hora de compartir
Un cambio radical
Jun/26/2013 File.Exists() devuelve False cuando se trata de un recurso compartido en una aplicación Web
File.Exists() devuelve False cuando se trata de un recurso compartido en una aplicación Web
File.Exists() devuelve False cuando se trata de un recurso compartido en una aplicación Web
Nov/01/2013 Forzar la sincronización entre el Directorio Activo y Office 365

Forzar la sincronización entre el Directorio Activo y Office 365

IT

Forzar la sincronización entre el Directorio Activo y Office 365
Ene/28/2016 Un cambio radical
01 Nov 2013

File.Exists() devuelve False cuando se trata de un recurso compartido en una aplicación Web

Escenario:

  • Windows Server 2003 como miembro de un dominio.
  • Microsoft .NET Framework 2.0
  • IIS 6.0
  • Unidad de almacenamiento NAS.

Las características de seguridad de Windows impiden que una aplicación Web pueda acceder al sistema o recursos compartidos más allá de un contexto de seguridad. En este caso, acceder a un recurso compartido desde una aplicación Web no es posible directamente.

La suplantación de identidad no es suficiente, ya que esto es un problema de doble salto: por un lado, la conexión entre el cliente y el IIS es un salto y la conexión entre el IIS y el recurso compartido es otro.

Aparentemente, la suplantación de identidad no permite el doble salto, lo que significa que un usuario debe ser capaz de acceder a los recursos locales de la máquina IIS, pero no a los remotos.

Para acceder a un recurso compartido mediante una aplicación Web se debe aplicar un concepto llamado Delegación.

La delegación es el paso siguiente después de la suplantación. La delegación posibilita la capacidad de tener acceso remoto a los recursos en nombre del cliente en lugar de sólo disponer de acceso local.

 Requisitos para la delegación

La delegación se basa en la autenticación de Windows integrada para el acceso a los recursos. No hay límite en el número de equipos en los que puede delegar una cuenta, sólo debes configurar correctamente cada uno de ellos. El método de autenticación de Windows integrada sólo funciona si se cumplen las dos condiciones siguientes:

  • Configura tu red para usar el protocolo de autenticación de Kerberos y requerir Active Directory.
  • Puedes configurar los equipos y las cuentas de la red como de confianza para la delegación.

Si estas condiciones no se cumplen, no puedes usar la autenticación de Windows integrada para tener acceso a los datos en un recurso remoto porque esta autenticación sólo le concede acceso al servidor IIS y no a los recursos adicionales configurados para la autenticación de Windows a los que el servidor IIS tiene acceso de forma remota. Además, debes poner todos los equipos o recursos compartidos en el mismo bosque de Active Directory.

Configurar IIS 6.0 para la delegación

 Para activar la autenticación de Windows Integrada y la suplantación en una aplicación Asp.NET tienes que configurar los servicios del IIS, para ello:

  1. Inicia la consola IIS (Inicio -> Ejecutar -> inetmgr)
  2. Expande (equipo local) y luego Sitios Web.
  3. Haz clic derecho sobre Sitio Web Predeterminado, Propiedades.
  4. En la ficha Seguridad de directorios, haz clic en el botón Modificar situado dentro del grupo Control de Autenticación y Acceso Anónimo.
  5. Desactiva todas las casillas excepto Autenticación Integrada de Windows.
    Nota: si se habilita el acceso anónimo, IIS siempre intentará autenticar con ella primero, incluso si hay habilitados otros métodos de autenticación, sin embargo, si se seleccionan la autenticación básica, la autenticación anónima y la autenticación integrada de Windows a la vez, la autenticación integrada de Windows tiene prioridad sobre las demás.

Configurar Asp.NET para la delegación

Abre el archivo web.config y establece la siguiente configuración.

 
<system.web>
 <authorization>
 <allow users="*"/>
 <deny users="?"/>
 </authorization>
 <authentication mode="Windows" />
</system.web>
 

Escrito por  0 comentarios
Publicado en Development
Etiquetas
Leído 77493 veces
Valorar este artículo
(0 votos)
Gustavo Arriola

Microsoft Certified Professional con +10 años de experiencia en desarrollo sobre plataformas Microsoft, micro-controladores y sistemas embebidos. 

Deje un comentario

Asegúrese de ingresar la información requerida (*) donde se indique. Ningún código HTML está permitido.

¿Quieres estar al tanto?

Suscríbete a mi boletín de noticias y recibe novedades

JoomShaper