Java, Applet, MYSQL, java.security.AccessControlException

pat7812 Messages postés 5 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 25 avril 2006 - 30 sept. 2004 à 15:47
Abralou Messages postés 9 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 30 octobre 2007 - 25 avril 2006 à 18:56
Coucou,

je suis entrain de creer un programe (Java, 1.4.2), qui lit dans une base de données MYSQL, et affiche ces memes données sous differents tableaux et graphiques. Je precise que la base de donnees est sur un server distant. Mais que j ai tout les droits...

Le programme fonctionne tres bien sans Applet.

Mais voila on me demande de creer une applet. J ai donc creer une applet (JApplet, j utilise des swing), que j ai signé. Cela ne marche toujours pas. L applet se lance, mais je ne peux tjrs pas accéder a la base de donnees.

java.security.AccessControlException: access denied (java.net.SocketPermission ...)

J ai bien la solution de changer java.policy et de rajouter :

grant{
permission java.security.AllPermission;
};

Mais c est une solution que j aimerai eviter :
-un tres grd nombre de machines doivent utiliser cette applet
-"trou de securite"

j aimerai donc savoir s il y a une autre solution, pour un, eviter "ce trou de securite" et deux, pour que l utilisateur "n ai qu a cliquer sur un bouton".

Merci de votre aide. :) :)

Pat 7812 :)

10 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
4 oct. 2004 à 15:04
:big) Neodante :big)

Si tu regardes bien la documentation lié à ce fichier tu peux juste avoir à faire un grant de ta connexion ... par ex :
permission java.net.SocketPermission "*", "connect";
Sinon pour être beaucoup plus complet :
http://java.sun.com/j2se/1.5.0/docs/guide/security/permissions.html#SocketPermission
Ce lien te permettra aussi de regarder les autres permissions ...
@+

[Responsable www.neogamedev.com]
0
pat7812 Messages postés 5 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 25 avril 2006
4 oct. 2004 à 16:31
Merci bcp, je vais regarde ce lien, j espere trouver ce que je veux.

Pat 7812 :)
0
fredspv Messages postés 127 Date d'inscription dimanche 7 mars 2004 Statut Membre Dernière intervention 6 juin 2008
15 août 2005 à 17:06
Bonjour,

Comment faut-il faire pour modifier JAVA.POLICY ?

Merci

fred
0
pat7812 Messages postés 5 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 25 avril 2006
16 août 2005 à 10:25
Coucou,



Voila comment je fais:

tu vas dans ./jdk1.4/jre/lib/security/java.policy, tu edites le
fichier et tu rajouttes les lignes. (Il faudra peut etre rebooter
ton ordi)



grant {



//grant the permission to acccess the database

permission java.net.SocketPermission "xx.xx.xx.xxx:xxxx", "connect";

permission java.net.SocketPermission "xxx.xxx.xxx.xxx:xxxx, "resolve";

permission java.net.SocketPermission "xxx.xxx.xxx.xxx:xxxx", "listen";

permission java.net.SocketPermission "xxx.xxx.xxx.xxx:xxxx", "accept";



//add the permission to use a SQLdataBase

permission java.sql.SQLPermission "setLog";



permission java.util.PropertyPermission "file.encoding", "read";

};





A+
Pat 7812
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pat7812 Messages postés 5 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 25 avril 2006
16 août 2005 à 10:25
c est evidemment un exemple...

Pat 7812
0
fredspv Messages postés 127 Date d'inscription dimanche 7 mars 2004 Statut Membre Dernière intervention 6 juin 2008
16 août 2005 à 10:28
Merci

fred
0
cs_13seb13 Messages postés 3 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 14 septembre 2005
26 août 2005 à 16:12
Salut,



j'ai le même pb. Mon applet marche dans l'appletViewer du logiciel
netBeans mais ne marche pas dans les browsers web tels que explorer ou
firefox.

Je n'ai cependant pas d'erreur de type socketPermission ou
sqlPermission dans la console java mais l'interpretteur java n'arrive
pas à faire des requetes sur la base. Je travail en local pour
l'instant.

J'ai essayé quelques commandes dans le fichier java.policy mais sans réussite:

"

permission java.net.SocketPermission "localhost:1024-", "accept, connect, listen";



permission java.sql.SQLPermission "setLog";



permission java.util.PropertyPermission "file.encoding", "read";



"



Si vous avez des suggestions...merci d'avance.

seb.
0
Abralou Messages postés 9 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 30 octobre 2007
25 avril 2006 à 14:27
Bonjour,

J'ai le même problème que pat7812. Et je ne veux pas changer le fichier java.policy car c'est un applet qui est destiné à être utiliser par beaucoup de personnes sur des postes différents.

Y a-t-il une solution sans toucher au fichier java.policy ?

Au pire j'avait penser utiliser un fichier php qui s'occuperait de faire les requetes sql et les transmettrait à l'applet, mais ca serait quand même beaucoup plus simple de pourvoir tout gérer avec l'applet.

Merci d'avance.
0
pat7812 Messages postés 5 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 25 avril 2006
25 avril 2006 à 15:12
Coucou,



Perso, a l epoque je n avais rien trouve qui me plaisait. Mais je ne m
etais pas super attarde ayant bcp de travail, et des dead-lines
de folie.



La seule solution automatisée que j avais trouve etait de faire un
petit programme qui modifiait le fichier java.policy (je n ai pas
programmer ce software--> manque de tps). En fait le but etait
de rajoutter les qques lignes dont j avais besoin a la fin de
java.policy. --> souvent utilise par bcp d'entreprise



L autre solution que j ai adopte etait de demander a chaque utilisateur de modifier java.policy pour moi. Cela revient a faire une mini procedure d nstallation.




Pat 7812 [:)]
0
Abralou Messages postés 9 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 30 octobre 2007
25 avril 2006 à 18:56
Ok merci^^
0
Rejoignez-nous
A voir également