En ciertas ocasiones, es necesario controlar el acceso a los recursos o archivos de nuestra aplicación, bien sea por permitir sólo a usuarios registrados o con la intención de monitorear el número de descargas de éstos.
Todos los archivos relacionados a ASP.NET (aspx, asmx, ashx, asax, etc) son procesados por el runtime de ASP.NET y es por este motivo que se puede especificar que controlador HTTP se hará cargo de un determinado documento, a su vez también están disponibles los mecanismos de autenticación y autorización para éstos.
En versiones anteriores de IIS, para hacer que otro tipo de archivos (html, zip, pdf, etc) sean procesados por ASP.NET, había que configurar manualmente para cada tipo de archivo que queríamos proteger, aparte de que este proceso era algo tedioso, estaba el inconveniente de que se añadía una carga extra al servidor. Sin embargo, con IIS 6 y ASP.NET 2, este proceso ha cambiado, puesto que ahora se puede delegar el procesamiento de este tipo de archivos a DefaultHttpHandler, sin que esto represente mucha sobrecarga.
Para hacer esto, primero tenemos que configurar el directorio virtual como sigue:
Propiedades del Directorio Virtual
Mapeo de archivos de la aplicación
Especificar la ubicación del módulo ISAPI de ASP.NET (%WINDIR%\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll) para que los archivos sean procesados por ésta.
Una vez hecho los pasos descritos en las imágenes, podemos usar el mecanismo -clásico- de autenticación/autorización de ASP.NET para lograr el objetivo de esta entrada :D.
<configuration>
<system.web>
<compilation debug="false" />
<authentication mode="Forms">
<forms name="__auth" defaultUrl="default.aspx" loginUrl="login.aspx" path="/">
<credentials passwordFormat="Clear">
<user name="alex" password="demo"/>
</credentials>
</forms>
</authentication>
</system.web>
<location path="downloads">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
</configuration>
El archivo de configuración mostrado, deniega el acceso de usuarios anónimos a los contenidos del directorio downloads.
4 replies on “Protección de archivos con ASP.NET 2 e IIS 6”
quisiera encontrar algo que me ayude a encriptar mis archivos y documentos e impedir que entren a los mismos, que sea sencillo y facil de usar. Me pueden ayudar. ?????por favor..........
[...] la anterior entrega (Protección de archivos con ASP.NET 2 y IIS 6), vimos que a partir de IIS 6, es posible proteger archivos que no son procesados directamente por [...]
hola, estoy trabajando con c#, asp.net y haciendo webservices en Telecom Argentina, y ocurre que hay app en PHP que no me mandan las credenciales de seguridad de windows, y no se puede usar el web service... alguna idea, alguna pista de cómo debe enviar el PHP, o cómo configurar el IIS donde reside el web service?
[...] Protección de archivos con ASP.NET 2 e IIS 6 En ciertas ocasiones, es necesario controlar el acceso a los recursos o archivos de nuestra aplicación, bien sea por permitir sólo a usuarios registrados o con la … [...]