Sécurisation d'une application Web

Sécurisation d'une application Web - Divers - Programmation

Marsh Posté le 29-04-2008 à 16:43:43    

  Bonjour a tous, :hello:  
       
     Je suis entrain de faire une application d'authentification pour mon application web;
l'accés a cette application est autorisé que pour un abonné(chacun a sa session) ou l'administrateur.
j'utilse pour cela tomcat 5.5.26 comme serveur d'application;
 Voici ce que j'ai fait:
 
Web.xml
 
<?xml version="1.0" encoding="ISO-8859-1" ?>  
  <!DOCTYPE web-app >  
 <web-app>
 <security-constraint>
  <display-name>authentification</display-name>  
 <web-resource-collection>
  <web-resource-name>authentification</web-resource-name>  
  <url-pattern>/Administrator/*</url-pattern>  
  </web-resource-collection>
 <auth-constraint>
  <role-name>admin</role-name>  
    </auth-constraint>
 <user-data-constraint>
  <transport-guarantee>NONE</transport-guarantee>  
  </user-data-constraint>
  </security-constraint>
   
  <security-constraint>
  <display-name>authentification</display-name>  
 <web-resource-collection>
  <web-resource-name>authentification</web-resource-name>  
  <url-pattern>/user/*</url-pattern>  
 
  </web-resource-collection>
 <auth-constraint>
 
    <role-name>user</role-name>  
  </auth-constraint>
 <user-data-constraint>
  <transport-guarantee>NONE</transport-guarantee>  
  </user-data-constraint>
  </security-constraint>
 <!--  Default login configuration uses form-based authentication  
  -->  
 <login-config>
  <auth-method>FORM</auth-method>  
  <realm-name>Example Form-Based Authentication Area</realm-name>  
 <form-login-config>
  <form-login-page>/login.jsp</form-login-page>  
  <form-error-page>/error.jsp</form-error-page>  
  </form-login-config>
  </login-config>
 <security-role>
  <description>An administrator</description>  
  <role-name>admin</role-name>  
  </security-role>
   <security-role>
  <description>A user</description>  
  <role-name>user</role-name>  
  </security-role>
  </web-app>
 
Tomcat_users.xml
 
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="user"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="toto" password="toto" roles="user"/>
  <user username="titi" password="titi" roles="user"/>
  <user username="admin" password="" roles="admin,manager"/>
</tomcat-users>
 
login.jsp
<html>
<head>
<title>Login Page for Examples</title>
<body bgcolor="white">
<form method="POST" action='<%= response.encodeURL("j_security_check" ) %>' >
  <table border="0" cellspacing="5">
    <tr>
      <th align="right">Username:</th>
      <td align="left                                                                                                                              "><input type="text" name="j_username"></td>
    </tr>
    <tr>
      <th align="right">Password:</th>
      <td align="left"><input type="password" name="j_password"></td>
    </tr>
    <tr>
      <td align="right"><input type="submit" value="Log In"></td>
      <td align="left"><input type="reset"></td>
    </tr>
  </table>
</form>
</body>
</html>
 
Error.jsp
 
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Erreur de connexion
</body>
</html>
 
J’ai modifier la balise realm de server.xml comme suit :
 
<Realm className="org.apache.catalina.realm.JDBCRealm"  
 digest="MD5"
 connectionName="postgresql"
 connectionPassword="yousfi"
      driverName="org.postgresql.Driver"
   connectionURL="jdbc:postgresql://localhost/tomcat"
       userTable="user" userNameCol="login" userCredCol="password"
   userRoleTable="role" roleNameCol="role"/>
 
Et la balise connector comme celle la :
 
<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector            port="8443" minProcessors="5" maxProcessors="75"  
         enableLookups="true" disableUploadTimeout="true"        
   acceptCount="100" debug="0" scheme="https" secure="true";    
       clientAuth="false" sslProtocol="TLS"/>
 
 
 
Mon probleme c'est que lorsque j'appelle une page qui je trouve dans le dossier administrator, j'aurais la page login qui autorise seulement le login "admin" et password "" qui sont les parametres par défaut de tomcat, meme si je reinstalle tomcat de nouveau et je change le password aucours de l’installation il autorise que login= «admin » et password= « ».
Et pour acceder au fichiers se trouvant dans le dossier "user" aucun login ou password n'est accepté elle me renvoi toujours vers la page error.jsp.
 
J'ai crée meme des tables dans postgresql (user et role) qui contiennent les parametres d'autentifications et les roles et j'ai modifié la balise realm du server.xml, j'ai fait aussi le deployement de mon projet mais j'aurais toujours la meme probleme.
Es ce mes configurations sont suffisantes pour faire une authentification, ou il ya d'autres trucs a faire, si oui comment? :??:  
 
Sachant que je travail avec tomcat 5.5.26,
 eclipse Europa  
et jdk1.5
 
Merci d'avance
 
 
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 29-04-2008 à 16:43:43   

Reply

Marsh Posté le 29-04-2008 à 17:32:54    

ya t'il quelqu'un qui peut m'aider?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed