bonjour, je travaille sur une application en Java déja existante, je dois corriger un problème : le system d'autentification par carte (les pc ont des lecteurs de cartes sécurisées) ne fonctionne pas, et la je sèche. j'aimerais avoir quelques pistes pour avancer, au moins savoir dans quelle direction chercher.

voici la page jsp d'accueil pour l'acces sécurisé : (dpSecurise.jsp)

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
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
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<jsp:useBean id="controleAccesXmlBeanId" scope="session" class="controleacces.ControleAccesXmlBean" />
<jsp:setProperty name="controleAccesXmlBeanId" property="*" />
 
 
<%
// ****************************************************************
// ICI seul le nom de votre fichier de configuration est à modifier
// ****************************************************************
 
//on recupere le chemin d'acc?s du fichier xml sur config.properties
java.util.ResourceBundle xmlFile = java.util.ResourceBundle.getBundle("config");
String nomXml = (String) xmlFile.getObject("xml.controlacces");
 
//String nomXml = "/WEB-INF/ControlAccesDP.xml";
//String nomXml = "c:/tmp/ControlAccesDP.xml";
String nomProps = "/statut.properties";
 
//String nomXml = "/WEB-INF/ControlAccesDP.xml";
//String nomProps = cheminAppli + "statut.properties";
 
//System.out.println("dpSecurise.jsp - nomProps= " + nomProps);
 
// ****************************************************************
// ICI seul le nom de votre fichier de configuration est à modifier
// ****************************************************************
 
try {
    Properties defaultProps = new Properties();
    
    //FileInputStream in = new FileInputStream(nomProps);
    //defaultProps.load(in);
    
    // solution temporaire, mise en dur des valeurs se trouvant dans statut.properties
    defaultProps.setProperty("etat","0");
    String etat = defaultProps.getProperty("etat","-1");
    //in.close();
    
    if(!(etat.equals("0"))) {
    
      response.sendRedirect("./indisponible.jsp?etat="+etat);
    }
}
catch (Exception e) {
System.out.println("erreur dans dpSecurise.jsp - " + e.getMessage());
}
 
 
 
 
// ***********************************************************
// **************le reste ne doit pas etre modifié ***********
// ***********************************************************
 
 
  // le principe est de transferer tout le contexte à une servlet
  RequestDispatcher rd;
  rd = null;
 
  ServletContext sc = this.getServletConfig().getServletContext();
 
  // Création d'un dispatcher
  try {
    HttpSession sessionaccueil = request.getSession(true);
    System.out.println("/servletcontroleacces?paramNomFichierXml=" + nomXml);
    rd = sc.getRequestDispatcher("/servletcontroleacces?paramNomFichierXml=" + nomXml);
    //rd = sc.getRequestDispatcher("/bouchon.do");
  }
  catch (Exception e) {
    System.out.println("Exception dans Jsp d'appel : " + e);
  }
 
 
  if (rd != null) {
          try {
                  
              rd.forward(request, response);
              // il fortement recommander (doc JSP de Hans Bergsten page278 )
              // de ne mettre aucun code apres getRequestDispatcher et apres forward
          }
          catch (Exception e) {
              System.out.println("Exception dans Jsp d'appel, apr?s dans forward " + e);
          }
  }
  else {
      System.out.println("rd = null dans la jsp d'appel");
  }
 
%>


et le fichier xml pour la sécurité (controlAccesDP.xml) :

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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ACCESSECURISE SYSTEM "./controleAcces/controleAcces.dtd">
<ACCESSECURISE>
    <SSO_SYSTEM>SY_DP
	    <TRACE>oui</TRACE>
		<SERVICE>DP_CLE</SERVICE>
		<LISTE_SERVICE>profil</LISTE_SERVICE>
		<JSPACCUEIL>/accueil.do</JSPACCUEIL>
		<JSPREJET>/JspRejet.jsp</JSPREJET>
		<WEB_SERVER></WEB_SERVER>
		<WEB_END></WEB_END>
		<PATHAPPLET>./controleAcces/</PATHAPPLET>
		<CLASSCONTROL></CLASSCONTROL>
		<WEB_APPLICATION>/delaip</WEB_APPLICATION>
		<ATTRIBUTARAMIS>B
			<ATTRIBUTSESSION>codecaisse</ATTRIBUTSESSION>
		</ATTRIBUTARAMIS>
		<ATTRIBUTARAMIS>F
			<ATTRIBUTSESSION>nom</ATTRIBUTSESSION>
		</ATTRIBUTARAMIS>
		<ATTRIBUTARAMIS>G
			<ATTRIBUTSESSION>prenom</ATTRIBUTSESSION>
		</ATTRIBUTARAMIS>
		<ATTRIBUTARAMIS>H
			<ATTRIBUTSESSION>numeroagent</ATTRIBUTSESSION>
		</ATTRIBUTARAMIS>
    </SSO_SYSTEM>
</ACCESSECURISE>


j'essai de récupérer une information sur la carte (le nom par exemple) et l'afficher dans la console, mais je n'y arrive pas. comment faire ?
merci.

ps : j'oublie surement de préciser des informations, n'hésitez pas à me demander )