Lo que haces es poner una liga a una página en donde revisas que haya proporcionado las claves de acceso y en esa página envias el documento o lo redireccionas a la página de entrada.
Aqui te mando el codigo que necesitas poner en la página en donde envias el documento. Antes le puedes poner la validacion de usuario
<%
Response.ContentType = "application/octet-stream"
' let the browser know the file name
Response.AddHeader "Content-Disposition", "attachment;filename="nombredelarchivo"
' let the browser know the file size
Response.AddHeader "Content-Length", tamañodelarchivo
%>
Este tip lo saque de esta página
http://www.aspupload.com/manual_db.html
hay una parte que se dice:
Exporting Files from the Database to a Client Browser
Espero te sirva