Pour le Handler, avec le mapping ça devrait le faire non?
<urlMappings enabled="true">
<add url="http://monsite.com/blahblah/fichier.pdf " mappedUrl="~/Handler.ashx"/>
</urlMappings>
Tu coup le Handler fait la vérif. et renvoi le fichier demandé par l'url originelle (après je sais si on y a accès)
Sinon tu peux peut être coder un httpmodule qui interceptera toutes les requêtes. Tu testes l'extension du fichier ou une autre règle, puis si ton contrôle de droit est bon tu laisses passer, sinon tu renvoi une réponse 403
Quel est le mode d'authentification ?