2017-07-06 4 views
0

J'utilise Image Resizer très bien dans d'autres zones de mon site pour redimensionner les images locales, mais lorsque j'essaie de redimensionner une image qui se trouve dans un répertoire virtuel, j'obtiens l'écran de connexion. (La connexion ne change rien) Si j'ajoute l'extension '.ashx', j'obtiens le même résultat.ImageResizer déclenchant la redirection de connexion sur un répertoire virtuel

Le site est hébergé sur IIS 10 (mode intégré), avec l'autorisation appPool accordée autorisations de modification sur le répertoire du site. Le répertoire virtuel utilise un utilisateur réseau disposant d'autorisations de modification sur le dossier réseau. La sortie de débogage ne montre aucune erreur - j'ai posté l'essentiel [here]

Je peux accéder à des images dans le répertoire virtuel sans querystring redimensionné et les images (image.jpg au lieu de image.jpg width = 100?) sont servis normalement. Cependant, dès que j'ajoute une commande de redimensionnement à la chaîne de requête, j'obtiens l'écran de connexion.

Des suggestions sur ce que je fais mal?

Merci,

+0

L'identité AppPool a-t-elle des autorisations sur le dossier réseau? Ou avez-vous l'usurpation d'identité activée? –

+0

Non, puisque l'utilisateur appPool est un compte local, je ne peux pas (ou je ne sais pas comment) l'ajouter aux autorisations pour le dossier réseau. L'emprunt d'identité ASP.Net n'est pas activé, mais l'authentification Anonyme et Forms est activée. Je ne sais pas si c'était clair dans mon OP, mais dans le répertoire virtuel, je le connecte en tant qu'utilisateur de domaine sur le réseau. Lorsque je teste cela, il semble fonctionner (à la fois sur les «Paramètres de test» dans IIS et lorsque je vois une image sur le site sans la chaîne de requête) –

+0

Vous devrez changer le compte utilisateur AppPool pour avoir accès au partage réseau . Sinon IIS pourra accéder aux fichiers, mais .NET ne pourra pas. Vous pouvez sélectionner le compte d'utilisateur à utiliser. Je créerais un compte d'utilisateur spécifique pour le pool d'applications et attribuerais les autorisations locales et distantes requises. –

Répondre

0

Nathanael avaient la solution ci-dessus dans les commentaires - pour résoudre le problème, je créé un utilisateur de réseau et modifier les privilèges accordés sur le dossier réseau partagé à cet utilisateur. J'ai ensuite défini le même utilisateur comme l'identité du pool d'applications. Merci pour l'aide Nathanael!