Forum Programmation.c# [C# mono] importer une classe - limiter les droits

Posté par  (site web personnel) .
Étiquettes : aucune
0
18
fév.
2005
Bonjour,

J'ai actuellement un projet que je compte réaliser avec Mono mais je me demande comment réaliser certaines choses ... Mon projet: c'est un moteur de jeu qui utilise Raydium (wiki).
Mon idée (qui est peut être irréalisable) c'est que chaque composant du jeu serait une classe qui pourrait hériter ses méthodes d'autres classes.
Comme il est prévu de pouvoir télécharger ces classes depuis Internet, il ne faut pas qu'elles soient autorisées à faire n'importe quoi. Ces classes téléchargées seraient importées dans le namespace «remote». Il faut que les clases du namespace «remote» n'aient accès qu'au namespace «local» (classes en local) et au namespace «gameEngine» (fonctions du moteur 3D).

D'abord: est-ce possible ?
Ensuite, comment fait-on pour importer une classe en C# ?
Enfin, Peut on limiter les privilèges des différentes classes ?

Merci pour tout éclairecissement.
Mildred
  • # un peu d'aide

    Posté par  (site web personnel) . Évalué à 3.

    Idée générale :
    Le code (ton moteur) qui utilise du code d'une provenance inconnu (internet en l'occurence), doit se prémunir lui même de faire des conneries (tu ne peux pas partir du principe que le code inconnu s'est mis lui même les bonnes permissions, logique).

    Il y a tout un système de permission et droits d'accès (accès au fichiers, à certains composants, etc.) dans la techno .NET/Mono, appelé "Code Access Security" (CAS).
    Tu trouveras un excellent article traitant du sujet à cette adresse :
    http://www.codeproject.com/dotnet/UB_CAS_NET.asp(...)

    "Ensuite, comment fait-on pour importer une classe en C# ?"
    Je ne suis pas sûr de bien comprendre la question, mais tu peux utiliser une classe (ou tout du moins une instance de cette classe) à distance, télécharger un objet et l'utiliser en local, télécharger un assembly (unité d'encapsulation, en gros un .dll qui regroupes plusieurs classes) et l'utiliser.

    "Enfin, Peut on limiter les privilèges des différentes classes ?"
    Oui, cf lien plus haut.
    • [^] # Re: un peu d'aide

      Posté par  (site web personnel) . Évalué à 3.

      Par contre je ne suis pas sûr qu'ils aient fini de tout implémenter dans Mono, apparement il y a du boulot de fait, si je regardes les morceaux de code proposé sur le blog du "spécialiste" dans l'équipe Mono :
      http://pages.infinit.net/ctech/poupou.html(...)
      (avec un nom comme ça il doit sûrement parler français et être à même de répondre à tes questions :-), sinon tu peux toujours poster sur la mailing list mono-devel)

      Il y a aussi tout un système de certification numérique pour ne pas utiliser n'importe quoi comme code, enfin celà a l'air assez dense et indigeste à comprendre :)

      Bon courage !
      • [^] # Re: un peu d'aide

        Posté par  (site web personnel) . Évalué à 1.

        Merci pour ces éclairicssments ...
        Je vais regarder ... Et peut être que finalement j'utiliserais un autre language. A étudier

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.