2010-07-15 2 views
0

Mon service Web doit ouvrir certains fichiers situés sur un ordinateur distant. De Windows, je peux faire l'authentification pour que je puisse voir ces fichiers en utilisant l'explorateur de fichiers.Problème d'autorisations lors de l'accès aux fichiers distants à partir de mon service Web

Si j'essaie d'ouvrir les fichiers de mon service Web alors qu'il est en cours d'exécution à l'aide de Visual Studio (serveur de développement ASP.NET), cela fonctionne également.

Cependant, si je fais tout depuis IIS, ce n'est pas le cas. Afin de savoir où est le problème, j'ai fait un sniffeur de réseau et j'ai découvert que lorsque j'utilise IIS, le système va essayer d'utiliser le compte 'ASPNET' pour se connecter à ces ordinateurs distants. De toute évidence échouer.

Cependant, cela ne se produit pas si je lance à partir de l'IDE (Utilisation du serveur de développement ASP.NET)

J'ai découvert que si j'utilise Impersonation pour accéder à ce qu'il fonctionne, le problème est que je dois avoir les mêmes noms de compte sur l'ordinateur exécutant IIS, donc je préfère ne pas le faire.

Pourquoi fonctionne-t-il à partir du serveur de développement ASP.NET et non d'IIS? Est-il possible de donner un accès complet au compte ASPNET?

Merci et j'espère que quelqu'un sera en mesure d'aider avec ceci. Je ne sais pas quoi d'autre à essayer ...

Répondre

0

Toute demande sur IIS est servie par l'utilisateur ASPNET. Donc l'utilisateur ASPNET fonctionne. Je pense que vous utilisez XP. Sur Win2K3 etc, l'utilisateur est Service réseau

Mais le Cassini (serveur Visual Studio Dev) s'exécute sous l'utilisateur actuellement connecté.

Donc, la différence est. Vous devez utiliser l'usurpation d'identité pour votre besoin.

+0

Merci pour votre réponse. Oui, j'utilise Windows XP. Alors voulez-vous dire que si j'utilise Win2K3 cela devrait fonctionner sans usurpation d'identité? – LEM

+0

Certainement pas. L'usurpation d'identité est requise pour les deux cas. – Kangkan

+2

@Kangkan: ce n'est pas toujours 'ASPNET'. C'est le compte que le pool est configuré pour utiliser. –

Questions connexes