Probleme de FileIOPermission

mastercatz Messages postés 193 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 12 août 2010 - 28 mars 2006 à 17:04
mastercatz Messages postés 193 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 12 août 2010 - 29 mars 2006 à 09:24
Bonjour
J'ai un problème avec les FileIOPermission dans mes applications.
J'ai une première classe qui demande une permission sur un fichier par le biais de ce code :

private bool CanReadFile(string file) {
FileIOPermission perm = new FileIOPermission(FileIOPermissionAccess.Read, file);
try { perm.Demand(); }
catch(SecurityException) {
return false;
}
return true;
}


Le nom du fichier est fournit par l'application utilisant la classe.
Seulement quand j'appelle la classe j'ai une SecurityException de levée. J'ai essayé diverses choses sans résultat.
Je me suis aussi apercu que lorsque je copie directement le code de la classe dans le projet de l'application, je n'ai plus de soucis de sécurité.

L'application appelante comporte ceci dans AssemblyInfo :
[assembly: SecurityPermission(SecurityAction.RequestMinimum, Execution = true)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, ControlThread = true)]

La classe comporte ceci dans AssemblyInfo :
[assembly: SecurityPermission(SecurityAction.RequestMinimum, Execution = true)]
[assembly: SecurityPermission(SecurityAction.RequestOptional, ControlThread = true)]

Comment puis je faire pour autoriser la classe à lire le fichier (ou meme le modifier) ?
Et surtout, est-ce utile de me casser le crane à utiliser les sécurités ?

Merci d'avance.

2 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
29 mars 2006 à 09:18
juste comme ca... l'assembly qui contient cette classe est-elle sur un partage réseau ?


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
0
mastercatz Messages postés 193 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 12 août 2010
29 mars 2006 à 09:24
L'application se trouve sur mon poste et l'assembly contenant la classe également.
Pour info j'ai fait des essais en mettant l'assembly contenant la classe dans le gac et en aussi avec l'assembly hors du gac (référence à un fichier).
Précision également, l'application et l'assembly de la classe sont signées nom fort toutes les deux avec 2 fichiers .snk différents.
0
Rejoignez-nous