Accès à un fichier

Signaler
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011
-
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011
-
bonjours à tous et à toutes,

Comment peut-on faire pour autoriser l'accès à un fichier temporairement ?
un internaute va sur le site et récupéré ce fichier qu'il peut lire pendant une durée de X minutes. au dela de ce temps l'accès lui est refusé

Merci par avance

7 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour, je te conseille de regarder vers les httphandler.

Tu fais un ton handler, tu regardes quelle fichier l'utilisateur demande tu check en base s'il a les droits puis en fonction tu fais un binarywrite ou non

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011

bonjour,

merci pour ta réponse
dsl je n'ai pas pu rép plus tôt

j'ai regarde bon nombre d'articles sur les httphandler, mais je ne veux pas faire selon les rôles des utilisateurs mais selon des paramètres que je déterminerai par le code.
 
j'ai essayer plusieurs type de code mais l'accès direct au fichier n'est pas proteger !
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Oui,

regarde les handler, y'a du vrai code derriere un handler. suffit d'implementer IHttpHandler et de l'enegistrer dans le web.config

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011

rolalala sa à l'air d'être balèze comme niveau !

j'ai bien ajouter "httpHandlers" dans le fichier web.config
j'ai repris l'exemple de ton tutorial : http://www.aspfr.com/codes/HANDLER__COMMENT_GERER_SA_PROPRE_EXTENSION_-TUTOS_-_ASPNET-/29118.aspx
quand je met path="
*.zip.ashx" et je met un lien hypertext diriger vers un fichier zip dans mon site il le télécharge directe ! si je supprime l'extension suplémentaire (.ashx)
il m'affiche le message suivant : (

"Le fichier demandé n'existe pas") qui se trouve dans la bibliothèque handler.dll !
donc apparament l'accès est bloquer comme ceci ?

comment autorise t-on l'accès dans ce cas ?

arrête moi si je me trompe, si je comprend bien si on rajoute ashx ou une autre extension il faut bien évidemment la déclarer au niveau des modules via le gestionnaire IIS !

Mon site je l'execute pour le moment qu'a partir de VS.net 2005 pro et j'ai IIS sous vista ! j'ai alors publier mon site sur le réseau local et trouver tout de même les modules.

mais ce n'est plus les mêmes propriétés, y'a nouveau module manager, ou natif. j'ai essayer et il m'affiche ce message

Erreur HTTP 500.19 - Internal Server Error
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011

je crois avoir compris !

Mais, quel type de donnée peut-on attribuer à un System.Web.HttpContext pour lui donner le nom et emplacement du fichier à télécharger ?
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011

je continue à chercher, mais la je ne vois pas, tout est bien configurer, je ne peux pas accéder aux type de fichier *.zip !
la méthode getfilename c'est bien pour récupérer ce fichier afin qu'il soit lisible ?

c'est juste ce petit HttpContext qui me bloque !
j'ai essayer de 'tricher' en remplacant contact.request.url.segments par un string avec le lien vers le fichier que je veux mais sa change rien :(
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011

Bonjour,

Dans IIS j'ai rajouter l'extension, donc j'ai changer le code à la ligne 32 de ton exemple : Utilities.GetFileName(context) par context.ToString

Vu que c'est pour retrouver son fichier sans l'extension je n'en ai pas besoin logiquement ? Est-ce que j'ai bien fait ?

mais quand je veux y accèder il me le message que ce fichier n'existe pas !

je refais quelque modif" et il m'affiche ce message :



Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.

J'y comprend rien alors qu'il n'y à pas beaucoup de ligne !!

Je n'ai pas à modifier l'extension de mon fichier ?

____

Sans passer par l'IIS et en mettant l'extension ashx en plus, dans le fichier web.config, j'arrivai à controler l'accès au fichier mais seulement comme ceci nomdufichier.zip.ashx, si je saisissez nomdufichier.zip il autoriser l'accès sans passer par la classe...

Merci par avance pour l'aide