Suplantación y delegación en ASP.NET
impersonation (3)
Tengo problemas para acceder a un archivo de texto en un servidor remoto con ASP.NET. La aplicación ASP.NET 1.1 se está ejecutando en Server 2003 utilizando Personificación con las Credenciales de Windows del solicitante. El cliente, el servidor web y el servidor remoto están todos en el mismo dominio y el usuario tiene permiso para acceder al archivo de texto. El usuario puede abrir el archivo de texto desde su máquina a través de un recurso compartido de UNC. Cuando el usuario ejecuta el sitio conectado directamente en el servidor, funciona bien. Sin embargo, cuando el usuario prueba su máquina, no funciona. ¿Cómo debe configurarse Personificación para que esto funcione?
EDITAR: otras funciones de la aplicación funcionan bien, simplemente accediendo al archivo remoto que no funciona.
Como prueba, especifique un nombre de usuario y una contraseña en la etiqueta de suplantación para forzar a la aplicación a suplantar siempre a un usuario que sabe que tiene acceso al archivo.
Si la aplicación ahora puede acceder al archivo de texto, sabrá que es la transferencia de las credenciales del usuario al servidor.
Si la aplicación STILL no puede acceder al archivo de texto, las credenciales no son el problema y hay un problema de configuración del servidor.
En IIS, Anónimo y autenticación básica, ambos deben ser desactivados como mínimo en las carpetas de la aplicación. Es posible que desee comprobar la carpeta de la aplicación en lugar de solo las carpetas raíz. Puede haber otras opciones de configuración, pero esta es la opción de "colgar fruta baja".
Parece que te encuentras con el problema de varios saltos. Cuando usa autenticación integrada, puede autenticarse desde su navegador a IIS. Pero no puedes autenticarte en ninguna otra máquina en el dominio. La razón es que con las credenciales estándar, no pueden verificar quién eres.
Hay dos soluciones principales con las que estoy familiarizado:- Implemente Kerberos, estos certificados le permiten realizar una autenticación más avanzada y permitir saltos en múltiples redes.
- Vuelva a suplantar a su usuario con la aplicación LogonUser win32 (requiere una contraseña).