Bonjour,
je dois utiliser le nom d'utilisateur de la session courante pour que l'utilisateur accède à son espace web (c'est pour un Intranet).
J'utilise donc une applet java pour récupérer le login utilisateur
Applet que j'ai signé avec jarsigner.
Voici mon applet java :
(Find_Session.java , .jar et .class dans le repertoire include du site)
ensuite, sur la page HTML d'accès a l'intranet, j'ai ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import java.applet.Applet; import java.awt.Graphics; public class Find_Session extends Applet { private String login_session = "VIDE"; public void init() { [INDENT]login_session = System.getProperty("user.name"); //affichage dans la console pour test System.out.println("Nom d'utilisateur local : " + login_session); } public String get_login() { return login_session; } }
(index.html)
Donc lors de l'accès à index.html, la fenêtre de sécurité java s'affiche bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 <HTML> <HEAD> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <script type="text/javascript"> function affiche_login() { var v_user=document.getElementById("MonApplet").get_login(); if ((v_user!="") && (v_user!="VIDE")) { //On affiche un petit message document.getElementById("message").innerHTML= "Bonjour vous êtes maintenant connecté ..."; //un petit tempo le temps de lire le message document.java.user.value= v_user; setTimeout("document.java.submit()",1000); } else { document.getElementById("panel_saisi").style.display = "block"; document.getElementById("progressbar").style.display = "none"; } } </script> </HEAD> <BODY onload="affiche_login()"; > <APPLET width='0' height='100' codebase="./include" code="Find_Session.class" archive="Find_Session.jar" name="Acces Intranet" id="MonApplet"> </APPLET> <!-- Formulaire de saisi LOGIN et PASSWORD--> <div id="panel_saisi" style="display: none;"> <form method="post" name="saisi" action='./accueil.php'> <b>Nom d'utilisateur :</b><input type="text" name="user" value=""><br> <b>Mot de passe :</b><input type="password" name="pass" value=""><br> <input type="submit" name="submit_login" value="Valider"> <input type='hidden' name='mode' value='saisi'> </form> </div> <a class='messageok' id='message'></a> <!-- Formulaire de redirection--> <form method='POST' name='java' action='./accueil.php'> <input type='hidden' name='user' value=''> <input type='hidden' name='mode' value='java'> </form> </BODY> </HTML>
Si je clique sur OK, l'applet me retourne bien le login de session et je suis donc correctement basculé vers la page accueil.php.
J'en viens à ma question, si je ne clique pas sur OK mais sur ANNULER, j'ai une erreur javascript :
"cet objet ne gère pas cette propriété ou cette méthode"
et je reste bloquer sur ma page blanche, le test de la variable sur v_user ne se fait pas.
Comment faire pour savoir si l'applet à été executer ou pas ?
Merci pour votre aide.
Partager