SecurityException dans l'application ASP.net
-
11-07-2019 - |
Question
J'ai une application Web qui interroge un index Lucene et elle fonctionne parfaitement sur un serveur W2K3 de mon réseau. Maintenant, j'ai eu mon code bleu alors je voulais tester le service en téléchargeant l'application. Pour ce faire, je devais installer Vista (je l’ai fait dans une machine virtuelle), car le SDK Azure ne s’installera pas sur une machine XP.
J'ai créé mon service cloud, ajouté les fichiers à partir de mon application, mais lorsque je l'exécute (uniquement en F5), une exception SecurityException s'affiche lorsque j'appelle Lucene pour interroger l'index en disant:
L'application a tenté de s'exécuter une opération non autorisée par le politique de sécurité. D'accorder cela demande l'autorisation requise veuillez contacter votre système administrateur ou changer le niveau de confiance de l'application dans le fichier de configuration.
J'ai cherché sur Google et les solutions que j'ai trouvées concernent la modification du fichier machine.config qui est quelque chose que je ne pourrai pas faire "dans le cloud".
Quelqu'un pourrait-il aider à cet égard?
La solution
OK, si quelqu'un est confronté aux mêmes problèmes, voici la réponse correcte que j'ai obtenue du forum Azure:
Cela est dû à la politique de confiance pour le CTP Windows Azure. le Les variations d'environnement TEMP et TMP sont disponible et mis en place convenablement. Cependant, System.IO.Path.GetTempPath et System.IO.GetTempFile ne fonctionnent pas comme ils exigent sans restriction autorisations d'environnement. je voudrais vous suggérons de contacter le Lucene les développeurs pour voir s'ils peuvent modifier le code pour qu'il fonctionne correctement dans le support environnements de confiance.
Merci à Daniel C. Wang pour la réponse.
Autres conseils
J'ai également trouvé une question concernant le même problème et savoir si elle était résolue.
Voici le lien: ??Lucene. Net échoue chez mon hôte car il appelle GetTempPath (). Quel est le travail autour?
Vous pouvez modifier la confiance dans le fichier web.config, à moins que cela n'ait été interdit dans le fichier machine.config (ce qui est souvent le cas dans l'hébergement partagé). à l'intérieur de votre put et voir ce qui se passe.
Si vous n'êtes pas autorisé à le faire, voyez si vous pouvez obtenir votre contrôle GACd en discutant avec votre fournisseur. Si cela ne fonctionne pas, désolé de le dire, mais vous n'avez pas de chance. Parfois, vous pouvez trouver des solutions de contournement qui ne nécessitent pas une confiance totale pour une méthode spécifique, mais si une dll tierce le requiert, vous ne pouvez pas faire grand chose
Je n'ai pas fait cela, mais n'est-il pas possible d'avoir une version de bureau de Live Operating Environment? Cela semblerait un bon début pour le dépannage.