2008-12-16 6 views
0

J'ai un bouton sur un site Web qui crée un répertoire et copie un fichier. Je l'ai développé en utilisant Visual Studio 2008, ASP.Net 3.5. Je cours Vista comme mon OS. Le site utilise l'usurpation d'identité.Comment puis-je copier des fichiers avec ASP.Net en utilisant Vista et IIS7?

La fonctionnalité ne fonctionne pas ("L'accès au chemin XYZ est refusé") lorsque:

  • je lance le site via IE frapper le serveur web local

La fonctionnalité fonctionne bien lorsque [ noter l'exécution Visual studio avec les droits d'administrateur]:

  • je frappe jeu dans Visual studio
  • Je dis en vue Bro RESAEU de Visual Studio
  • je lance le site via IE frapper le serveur web local, mais commencer IE avec les droits d'administrateur
  • Je Déployez le site sur un autre serveur Web (également vista/IIS7)
  • je modifie FireFox pour accepter l'authentification intégrée , accédez ensuite par FireFox et localhost

Je ne l'ai jamais vu ce comportement avant, auparavant le type File.Copy commandes ne se souciait que les droits sur le dossier en cours copiés étaient valides etc ... (je Tout le monde ayant contrôle total en essayant de déboguer cette situation). Il semble probable que le problème est d'avoir des droits d'administrateur ou non? Ou être connecté à la machine sur laquelle il s'exécute?

Que se passe-t-il ici? Pourquoi cela fonctionne-t-il dans l'environnement de développement et est-il déployé sur une autre machine, mais ne fonctionne pas lorsqu'il est déployé sur ma propre machine? Cela semble très étrange, toute aide serait appréciée. : J'ai ajouté "Tout le monde" à tous les répertoires relvant et donner à cet utilisateur le contrôle total, donc il ne devrait pas y avoir de problèmes de permission?

Répondre

2

OK J'ai identifié la solution à ce problème en raison de ces symptômes. Je ne suis pas sûr à 100% pourquoi cela fonctionne (d'autant plus que cela fonctionne bien dans FireFox et fonctionne très bien dans IE si vous ne vous connectez pas localement), mais ce qui suit semble être une solution de rechange.

Dans IE, sélectionnez Outils -> Options Internet -> Sécurité -> Sites de confiance -> Sites et ajoutez http://localhost comme site de confiance. Cela vous permet ensuite d'utiliser le site Web localement. Pourquoi vous avez besoin de faire cela dans IE lors de la connexion locale et non dans FireFox ou IE lors de la connexion à une autre machine est quelque chose que je ne sais pas. Mais cela semble être une solution de contournement viable.

0

Je suppose l'identité ASP.Net fonctionne sous ne dispose pas des autorisations (NetworkService) ou l'utilisateur utilisé pour l'authentification anonyme ne possède l'autorisation (IUSR)

+0

J'ai ajouté "Tout le monde" à tous les répertoires relvant et donner à cet utilisateur un contrôle total, donc il ne devrait pas y avoir de problèmes de permission? – ChrisHDog

2

l'utilisateur plus probable que IIS est en cours d'exécution fil personnifié sous n'a pas accès au fichier original ou à la destination. Avez-vous essayé de faire la copie directement en tant qu'utilisateur? Lorsque vous exécutez IE en tant qu'administrateur ou que vous exécutez VS en tant qu'administrateur, l'utilisateur emprunté a tous les droits en tant qu'administrateur.

[Modifier - ajouter un lien]

Il y a quelques informations sur un fil similaire, l'idée d'utiliser Sysinternals était bon:

UnauthorizedAccessException with IIS7

+0

je suis capable de copier/supprimer/etc ... avec cet utilisateur, pas de problème – ChrisHDog

2

Vous devriez essayer de donner l'autorisation de modifier sur asp. net

vous pouvez trouver plusieurs articles à ce sujet en la tuant par google (le).

+0

pouvez-vous donner plus de détails? les répertoires et les fichiers en question ont "Tout le monde" lire, écrire, modifier les permissions. comment puis-je "donner la permission de modifier sur asp.net"? Je cours l'imitation ainsi ne devrait pas prendre soin de ceci aussi? – ChrisHDog

+0

vous avez raison. Quoi qu'il en soit, à partir de maintenant, parce que vous avez trouvé la solution :) – Tarik

Questions connexes