2010-10-20 4 views
0

Nous avons un serveur de production intranet fonctionnant dans un environnement virtuel, que nous avons cloné pour créer un serveur de développement. Le nom de l'ordinateur et l'adresse IP sont modifiés et tout fonctionne correctement. Il existe un dossier partagé sur l'instance de production, que nous référençons depuis le serveur de développement car tout est en lecture seule. Je peux visiter la part de ma machine locale, de la machine de développement et de pratiquement toutes les machines de notre réseau. Lorsque je débogue ma version locale de l'intranet, elle se connecte très bien au dossier de production. Lorsque j'essaie d'accéder au dossier à partir de mon application ASP.NET sur le serveur de développement, cela me donne UnathorizedAccessException. J'ai donné à tout le monde l'accès en lecture sur les onglets de partage et de sécurité, et je ne peux toujours pas accéder au dossier.ASP.NET UnauthorizedAccessException

Une autre partie de notre site Web se connecte à un dossier sur un troisième serveur. L'environnement de développement n'a aucun problème à se connecter à cela. J'ai changé le dossier pour la copie du dossier de production sur la machine de développement et cela fonctionne très bien, mais je voudrais qu'il pointe vers la machine de production de toute façon. Je ne comprends pas ce qui se passe. Comment est-ce que je peux partager un dossier à tout le monde et pourtant le site de développement ne peut pas y accéder?

+0

Pouvez-vous montrer le code qui lance l'exception? – CodingGorilla

+0

'Directory.GetFiles (chemin, sélecteur);' Je ne peux pas couper et coller le code réel mais c'est l'appel de la fonction qui revient avec une erreur. –

Répondre

0

Votre processus de travail ASP.NET s'exécute-t-il en tant que compte à faible privilège? Si c'est le cas, vous devez vous assurer que le compte a accès au dossier et que l'accès ne nécessite pas d'élévation de privilèges si la machine est Win 2K8/Win 7.

Exécutez-vous IIS7? Si oui, avez-vous essayé d'activer le suivi de diagnostic, le suivi des demandes ayant échoué et vérifié que les "Paramètres avancés> Test" peuvent accéder au dossier spécifié?

+0

Nous utilisons Windows Server 2003, que je pense être IIS7. Je ne sais pas exactement comment faire ce que vous suggérez. Pouvez-vous l'expliquer un peu plus ou me lier à un article sur la façon de faire cela? –

+0

Il fonctionne en tant que 'NetworkService'. J'ai vérifié que le dossier partage les droits de lecture sur 'Everyone'. –

+0

@Nick pas sûr si Win 2K3 est IIS7, je pense que ce pourrait être soit réellement. Si c'est IIS7 quand vous ouvrez le Gestionnaire des IIS, vous devriez voir un panneau d'icônes sur la droite divisé en trois groupes. Le groupe du milieu aura une icône "Failed Request Logging", et si le module est également installé, un enregistrement "diagnostic". De plus, dans la visionneuse d'événements, vous devriez avoir des événements pour ASP.NET qui vous donneront de meilleures informations de suivi. Pour accéder au "test", faites un clic droit sur le dossier virtuel et sélectionnez "Paramètres avancés" et cliquez sur Test. Il pourrait être sous configuration "de base" ne pas avoir une console à portée de main. Pardon. – GrayWizardx

Questions connexes