Probleme appli .net strategie de securité du framework .net

Probleme appli .net strategie de securité du framework .net - C#/.NET managed - Programmation

Marsh Posté le 11-01-2005 à 20:26:29    

Bonjour tout le monde,
 
je travail sous visual studio 2003. j'ai créée une petite application pour recuperer l'adresse MAC d'un pc, l'appli fonctionne très bien lorsque est en local, mais lorsque je la copie sur un serveur de fichier et que je l'execute, j'ai un message d'erreur.
 
j'ai fait quelque recherche voici ce que j'ai trouvé :
 
http://msdn.microsoft.com/library/ [...] policy.asp
http://blogs.msdn.com/shawnfa/arch [...] 57023.aspx
 
En gros il faudrait utilisé une classe pour demander les autorisations,mais je comprend pas du tout...
 
voici mon code source :
 

Code :
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As system.EventArgs) Handles Button1.Click
  2.         Dim mc As System.Management.ManagementClass
  3.         Dim mo As System.Management.ManagementObject
  4.         mc = New System.Management.ManagementClass("Win32_NetworkAdapterConfiguration" )
  5.         Dim moc As System.Management.ManagementObjectCollection = mc.GetInstances()
  6.         For Each mo In moc
  7.             If mo.Item("IPEnabled" ) = True Then
  8.                 ListBox1.Items.Add("MAC address " & mo.Item("MacAddress" ).ToString())
  9.             End If
  10.         Next
  11.     End Sub


 
Si quelqu'un a une idée, merci d'avance !


Message édité par molkin le 11-01-2005 à 20:50:25
Reply

Marsh Posté le 11-01-2005 à 20:26:29   

Reply

Marsh Posté le 11-01-2005 à 21:21:07    

Up : j'ai reussi a passer outre, en allant dans la configuration du .net framework et abaisser le niveau de securité.
 

Citation :

The easiest way to modify your security policy is by using the Microsoft .NET Framework Configuration utility from the control panel.  You can also run this tool from the command line by running mscorcfg.msc.  
 
Expand the Runtime Security Policy folder  
Expand the Machine policy level  
Expand the Code Groups folder  
To modify the polcy to trust a specific strong name:  
 
Right click on All_Code, and select New  
Create a new code group for your strong name, and hit next  
Select a strong name membership condition from the drop down box  
Hit the import button, and select your assembly.  The configuration tool will import your public key.  If you want to trust everything you sign with this key, leave the name and version boxes unchecked  
Select the FullTrust permission set  
To modify the policy to allow full trust for all Intranet assemblies:  
 
Expand the All_Code code group  
Right click the LocalIntranet_Zone code group, and select properties  
Switch to the Permission Set tab, and select FullTrust  


 
Le probleme, c'est qu'il faut passer sur chaque poste pour reconfigurer la sécurité... Si il y'a une autre proposition, je suis preneur !

Reply

Marsh Posté le 12-01-2005 à 10:38:39    

tu peux peut etre generer un nom fort et signer ton projet. Je ne maitrise pas le sujet et je ne sais pas si ca repond a ton besoin.
Y'a un utilitaire appelé sn tu peux generer une signature  
(exemple : sn -k myKey.snk)
et ensuite associer cette signature a ton projet.
Par contre, il faudra que tu mettre dans le dossier assembly de ton repertoire de windows l'assembly generer ou creer un projet d'installation qui va installer ton projet.
 
Je reste vague car je n'en sais pas beaucoup plus, j'ai lu ca quelque part et je n'ai jamais pratiqué, si tu as plus d'infos ou que tu trouves la vraie methode n'hesites pas a partager.


Message édité par liink le 12-01-2005 à 10:39:45
Reply

Marsh Posté le 12-01-2005 à 15:48:06    

Il y a pleins de facons de récupérer l'adresse MAC d'une carte réseau sous Windows.
Essaye celle là : fais une DLL, mets-y une fonction a toi qui utilise "GetAdaptersInfo()" de "iphlpapi.h".
 
Je n'ai pas eu le pb que tu as avec ta méthode alors c'est peut etre une solution.

Reply

Marsh Posté le 12-01-2005 à 18:22:29    

Merci pour vos reply.
 
liink : j'ai effectivement lu cette methode sur le net, j'ai bien créée la key, je l'ai intégré a mon assembly, mais cela n'a pas fonctionné... peut-être que j'ai fait une petite erreur quelque part. je vais re-check
 
oliv5 : Merci, je ne connaissai pas cette methode. il faut dire que je ne suis pas developpeur  ala base, mais plus reseau. Mais construire des petites applis de ce genre m'aide fortement dans mon travail.
 
Je vais regarder de plus pres tout ça. Je vous tiens au courant ^^
 
UPDATE & SOLUTION
 
Voilà la solution correpond à celle de liink.
 
1 creer un strong name comme indiqué sur ce site
2 Rajouter votre strong name dans la securité de votre pc (toujours sur le meme site)
3 Creer un package MSI pour installer la securité sur les postes clients. L'installation de ce MSI est silencieuse et très rapide. Explication : ici
4 Relancer votre appli depuis le partage reseau. Cela devrai fonctionner ^^


Message édité par molkin le 12-01-2005 à 19:18:35
Reply

Marsh Posté le 14-01-2005 à 02:19:24    

cool ! j'etais tres tres proche :)
cetif en vu dans 2 semaines pour moi ! allé hop hop au boulot pour reviser cette partie, merci pour les liens.

Reply

Marsh Posté le 08-11-2005 à 11:11:36    

Je remonte ce topic car je rencontre le pb ...
Par contre j'utilise des librairies que je ne peux pas recompiler donc pour lesquelles je ne peux pas spécifier l'attribut [assembly: AssemblyKeyFile("myKey.snk" )]
Il me reste quoi comme alternative ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed