SocketPermission : représenter ttes les adresses d'un réseau

Fermé
Sara - 7 nov. 2012 à 14:50
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 8 nov. 2012 à 08:18
Bonjour,

Je souhaite implémenter un serveur qui accèpte les connexions provenant de toutes les machines d'un réseau donné (par exemple de tout le réseau 192.168.1.0).

Quand il s'agit d'une machine (192.168.1.81 par exemple)

je mets ceci dans le fichier de la politique de sécurité (après avoir installé un nouveau gestionnaire de sécurité et après avoir spécifié le bon fichier de la politique)

grant{
permission java.net.SocketPermission "192.168.1.81","accept";
};

Mais si je veux mettre toutes les machines d'un réseau, comment faire (sans mettre bien sur 254 lignes dans mon fichier pour chaque machine) ?

Notez svp que j'ai essayé avec" permission java.net.SocketPermission "192.168.1.0","accept";"

et ça ne marche pas :(


D'avance merci

2 réponses

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
7 nov. 2012 à 16:23
Salut.
C'est du java que tu fais ? (je trouve bizarre la syntaxe)
tu peux tout simplement faire une boucle for qui acceptera les 254 IP les un après les autres. Sinon, il faut voir la doc s'il n'y a pas moyen de fournir une plage.
0
Salut,

Merci de ta réponse.
Sinon, oui, c'est du java :)

La syntaxe est celle du fichier de la politique de sécurité et non pas celle du code java

Plus précisément, dans le code, je mets en place un gestionnaire de securité, ensuite je spécifie le chemin vers le chemin qui contient les permissions comme suit :

Properties prop = System.getProperties();
if (System.getSecurityManager()==null) System.setSecurityManager(new SecurityManager());
prop.put("java.security.policy","security.txt");

ensuite, je mets dans le fichier security.txt les permissions du genre
grant{
permission java.net.SocketPermission "192.168.1.81","accept";
};


Donc, je cherche la syntaxe qui permet de rgrouper toutes les machines qui appartiennent à un réseau sans les citer toutes.

Merci encore
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
8 nov. 2012 à 08:18
ok.
Donc, il faut que tu cherches dans la documentation;
http://docs.oracle.com/javase/1.4.2/docs/guide/security/permissions.html
Là, j'ai trouver pour le DNS et les ports, pas pour les IP.
essai plusieurs choses, les * et les -:
"192.168.1.*" ou "192.168.1.1-255" ou encore "192.168.1.1-192.168.1.255".
Bonne chance.
0