Question

J'exécute une application asp.net (VS2008 / .net 3.5) et lorsque je l'exécute sous VS dans Debug more, cela fonctionne correctement.

Il lit avec joie les fichiers et les répertoires d'un partage réseau.

Je peux exécuter "cleartool startview [nom de la vue dynamique]" " ok, je peux "cleartool mount [vob]". heureusement.

Mais si j'essaie de vérifier l'existence d'un fichier dans le vob, il ne peut pas le voir.

Alors j’ai essayé quelque chose de différent, j’exécute maintenant le programme "cleartool ls -short -vob_only [nom du fichier]". pour tester l'existence.

Dans les deux cas, le système fonctionne correctement sous VS2008 mais ne fonctionne pas lorsqu'il est exécuté sous IIS après le déploiement.

J'ai l'ensemble et l'utilisateur dispose d'un accès valide à ClearCase.

Des idées?

Était-ce utile?

La solution 2

J'ai trouvé le problème et une solution à ce problème. Le problème est que ClearCase utilise l’utilisateur de processus pour s’authentifier, tandis que l’accès au lecteur partagé mentionné dans la question initiale utilise l’utilisateur du thread.

La raison en est la suivante: lorsque vous accédez à ClearCase, un nouveau processus est généré - et les processus enfants utilisent toujours le contexte de sécurité du processus parent et non celui du fil actuel.

Pour contourner ce problème, il fallait exécuter l’application Web dans son propre pool d’applications fonctionnant en tant qu’utilisateur disposant des droits nécessaires pour accéder à ClearCase. Une inflation des droits allant au-delà de ce qui devrait être vraiment nécessaire, mais elle a tout de même réussi.

Autres conseils

Si vous utilisez le serveur Web intégré (Cassini) au cours du développement, il fonctionne comme vous le faites et a accès à vos lecteurs en réseau, etc. IIS utilise par contre un compte d'utilisateur différent et ne partage pas votre profil d'utilisateur, notamment: vos vues ClearCase, etc. Cela peut expliquer vos problèmes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top