matlocker
Messages postés178Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention30 juillet 2008
-
1 juin 2005 à 19:24
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 2011
-
11 nov. 2005 à 10:16
Bonjour,
J'ai un petit soucis. J'ai un code tout bete qui ecris un fichier texte ds le repertoire de mon site. Mais il m'indique je ne possede pas les droits : "L'accès au chemin d'accès ....est refusé".
Alors que j'ai mis les droit d'ecriture sur mon repertoire ds iis.
Quelq'un aurais une explication ?
Voila mon code :
Dim t
As
New StreamWriter(Server.MapPath("t.txt"))
Mickey VB
Messages postés50Date d'inscriptionjeudi 5 août 2004StatutMembreDernière intervention15 janvier 2007 2 juin 2005 à 10:10
dans l'explorateur tu vas dans le répertoire C:\Inetpub\wwwroot\ => click droit sur ton répertoire puis propriété => onglet sécurité. Vérifie que IUSR_NOM DE TON SERVEUR et IWAM_NOM DE TON SERVEUR sont bien en lecture et ecriture puis tu rajoutes ASP.NET et tu lui donnes les droits en lecture et ecriture (pour l'emplacement tu sélectionnes le nom de ton serveur si c'est ton pc = nom du pc)
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 3 juin 2005 à 18:58
ça spécifie les droits de l'application web sur le dossier choisit.
Mais tout ça s'éxécute dans le processus de IIS et celui-ci est lancé
par IUSR_TONSERVEUR. Et le code asp.net est transmis par IIS au
Framework qui lui s'exécute dans l'utilisateur ASPNET. Donc il faut que
tout ce petit monde là ai l'accès en écriture au fichier concerné.
(j'espère que c'est compréhensible...)
Nurgle C'est une grande folie que de vouloir être sage tout seul !
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 6 juin 2005 à 17:00
Je vais essayer d'expliquer :
le framework .net accède à Windows sous le nom d'utilisateur ASPNET. Si
tu écris dans un dossier en .net, il faut que Windows l'autorise, donc
il faut que ASPNET en ai le droit.
IIS lui, accède à Windows sous deux noms d'utilisateurs :
IUSR_TONSERVEUR et IWAM_TONSERVEUR. Ils ont des usages différents mais
ce qui compte c'est que si une application qui utilise IIS sous la
forme d' ISAPI (donc ASP, PHP, CGI...tout sauf le .net ) veut écrire quelque part il faut que :
- IIS donne le droit à ton application de le faire (donc ça c'est les droits que tu modifies dans IIS).
- Windows donne le droit à IIS d'écrire dans le dossier (et là c'est IUSR_TONSERVEUR qui doit avoir les droits d'écriture)
Donc en asp.net, il faut juste autoriser (dans Windows) ASPNET à écrire dans le dossier (normalement...).
Alors que dans les autres languages plus anciens, c'est IUSR_TONSERVEUR
qui doit avoir les droits d'écriture ; et ton application web doit
avoir l'autorisation de IIS.
(c'est mieux là non )
Nurgle C'est une grande folie que de vouloir être sage tout seul !