2008-09-25 14 views
2

J'essaie de configurer le nœud IPermission dans le cadre d'une approbation moyenne. Cependant, je ne peux pas trouver la liste des valeurs valides pour l'attribut PathDiscovery sur le nœudConfiguration d'ASP.Net Medium Trust

<IPermission class="FileIOPermission" version="1" Read="$AppDir$" Write="$AppDir$" Append="$AppDir$" PathDiscovery="$AppDir$"/> 

je dois définir l'autorisation pour que le compte sera en mesure d'accéder à tous les sous-répertoires du chemin principal. Actuellement, un fichier .svc (fichier de service WCF) génère une erreur 404 car le compte ASP.Net n'est pas en mesure de l'obtenir à partir d'un sous-dossier de plusieurs niveaux. J'essaie d'éviter de changer le nœud à

<IPermission class="FileIOPermission" version="1" Unrestricted="true"/> 

Des idées?

TIA

Répondre

2

Je suis d'accord que vous ne devriez pas changer le nœud à Imprenable, car cela à peu près l'encontre du but de confiance partielle.

Selon le System.Security.Permissions.FileIOPermission documentation on MSDN, FileIOPermission est supposé impliquer des autorisations à tout ce qui se trouve en dessous de ce chemin. A partir de ce document:

L'accès à un dossier implique l'accès à tous les fichiers qu'il contient, ainsi que accès à tous les fichiers et dossiers dans ses sous-dossiers. Par exemple, Lire accéder à C: \ dossier1 \ implique Lire accéder à C: \ dossier1 \ fichier1.txt, C: \ dossier1 \ dossier2 \, C: \ dossier1 \ dossier2 \ fichier2.txt, et ainsi sur.

Bien sûr, la construction des fichiers de confiance personnalisé est lamentablement mal documenté par Microsoft, il est donc possible que le balisage .config FileIOPermission se comporte différemment de la classe de code ... Ce serait surprenant pour moi si.

Est-il possible qu'un autre problème provoque le 404? Vérifiez que le service s'exécute sous les informations d'identification attendues et que le chemin est évalué correctement ...

+0

Le 404 est à cause de l'autorisation FileIO car si la valeur Unrestricted est définie sur true, l'appel de service ne pas échouer. Je me demande si $ AddDir $ restreint n'importe quoi – rams