Acces au repertoire refusé

Signaler
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
-
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
-
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"))


t.WriteLine("hhhhhhhhh")


t.Close()
A voir également:

13 réponses

Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
Salut



Tu dois donner l'autorisation windows (dans Windows et pas dans IIS ) à l'utilisateur du PC nommée ASPNET !!



(si tu es sous Win2003 c'est IUSR_TONSERVEUR qu'il faut autoriser...)



Donc dans l'explorateut : clique droit sur le dossier --> propriétés
--> et tu autorises ASPNET en lecture/écriture/modification/...etc



@+++




Nurgle
C'est une grande folie que de vouloir être sage tout seul !
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Salut Nurgle,

Je suis sous windows xp et qd je clique sur un repertoire j'ai pas de menu pour autoriser aspnet en lecture ecriture. J'ai manqué quelque chose ?
Messages postés
50
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
15 janvier 2007

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)

ça fonctionne très bien sous windows xp

Mickey
[mailto:mcordeiro@fr.ebsco.com mcordeiro@fr.ebsco.com]
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Mais je vous assure j'ai pas onglet securite......comment est ce possible ?
Messages postés
50
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
15 janvier 2007

tu n'es pas administrateur de ton poste?

Mickey
[mailto:mcordeiro@fr.ebsco.com mcordeiro@fr.ebsco.com]
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Non je viens de me rendre compte que j'avais activé l'option "utiliser le partage de fichier simple" donc j'avais pas onglet securite.

Merci ca devrais etre bon maintenant.

Cependant je comprends pas un truc. Quand on specifie des droit de lecture/ecriture dans IIS sur un repertoire ca sert a quoi ?
Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
ç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 !
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Honnetement j'ai pas bien compris mias je vais me renseigner.

Merci.
Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
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 !
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Merci Nurgle pour avoir passé du temps pour ta reponse. Et la j'ai "tout bien compris" .
Messages postés
178
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Merci Nurgle pour avoir passé du temps pour ta reponse. Et la j'ai "tout bien compris" .
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
7
Moi j'ai bien compris, mais je n'ai pas d'utilisateur IUSR_MONSERVEUR!


Même si je mets control total à tout le monde ça marche pas!

je suis sous 2003 II6

TBBUIM
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
7
J'ai trouvé, je leur ai donnée accès à tous les rep de intepub et inetpub
mais ça ne marche toujours pas!
TBBUIM