[sécurité ARAMIS] pb de lecture d'une carte
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:
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:
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 8-) )