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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
private void loginMouseClicked(java.awt.event.MouseEvent evt) {
statut.setForeground(new java.awt.Color(153, 102, 0));
statut.setText("statut : interrogation du serveur ...");
URL uGreetings;
String sGreetings="Bye bye";
// kl = la clef de cryptage
String kl="";
try{
URL kU=new URL(serveur+path+keyServlet+"?logl="+keyLength);
kl=getGreeting(kU);
}
catch (Exception e)
{
......
}
Vigenere vg=new Vigenere();
String aCrypter="DF"+identifiant.getText()+motDePasse.getText() ;
// on crypte login/mot de passe
String crypte=vg.getEncryptedPhrase(aCrypter,kl);
try{
uGreetings = new URL (serveur+path+loginServlet+"?ql="+crypte);
String tmpGreetings=getGreeting(uGreetings);
if (tmpGreetings.equals("erreur"))
sGreetings=tmpGreetings;
else
sGreetings=vg.getPhrase(tmpGreetings,kl);
}
catch (Exception e)
{
....
}
// si login et mot de passe OK : on teste la chaine de retour
if (sGreetings.indexOf("OK")!=-1)
{
statut.setForeground(new java.awt.Color(0, 90, 0));
statut.setText("statut : login OK. redirection en cours ...");
String redirect=sGreetings.substring(sGreetings.lastIndexOf("=")+1);
String base=this.getDocumentBase().toString() ;
URL redirectURL;
try
{
String URLstart= base.substring(0,base.lastIndexOf("/")+1);
redirectURL=new URL(URLstart+redirect);
// LA PARTIE INTERESSANTE : l'applet fait le redirect vers la page précisée dans le "OK?page=accueil.html"
this.getAppletContext().showDocument(redirectURL);
}
catch (Exception e)
{
....
}
}
else if (sGreetings.indexOf("erreur")!=-1)
{
statut.setForeground(new java.awt.Color(153, 0, 51));
statut.setText("ERREUR : serveur injoignable ...");
}
else
{
statut.setForeground(new java.awt.Color(153, 0, 51));
statut.setText("statut : coordonnées invalides ...");
}
}
// petite méthode de lecture du contenu d'une URL
private String getGreeting(URL u) throws Exception{
String line=new String("");
int endTagIndex;
BufferedReader reader=null;
try{
reader=new BufferedReader(new InputStreamReader(u.openStream()));
line=reader.readLine();
}
catch (ConnectException ce)
{
ce.printStackTrace() ;
line="erreur";
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (reader!=null) reader.close();
}
return line;
} |
Partager