Problème de gestion d'authentification avec JDBCRealm sous tomcat 6

Problème de gestion d'authentification avec JDBCRealm sous tomcat 6 - Divers - Programmation

Marsh Posté le 30-11-2008 à 09:40:43    

Je suis en train de faire un site internet, et j'ai besoin de limiter l'accès des visiteurs du site au contenu de mon application.  
 
Je travaille avec Apache Tomcat 6.0.18, postgresql et j'ai bien sûr le postgresql-8.3-603.jdbc4 dans mon lib.
 
Mon contexte Apache-Tomcat s'appelle "hotel", ma base de données postgres s'appelle AMDB.
 
J'ai pas de fichier sun-web.xml (j'ai lu sur des sites internet qu'il fallait parfois le mettre : mais où? et pourquoi ?)
 
Mes fichiers sont comme suit :
Web.xml:
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <web-app xmlns="http://java.sun.com/xml/ns/javaee"
  3.    xmlns: xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ [...] .xsd&#034;
  5.    version="2.5">
  6.     <security-constraint>
  7. <display-name>Sécurité sous Tomcat</display-name>
  8. <web-resource-collection>
  9. <web-resource-name>hotel</web-resource-name>
  10. <url-pattern>/*</url-pattern>
  11.             <http-method>GET</http-method>
  12.             <http-method>POST</http-method>
  13.             <http-method>HEAD</http-method>
  14.             <http-method>PUT</http-method>
  15.             <http-method>OPTIONS</http-method>
  16.             <http-method>TRACE</http-method>
  17.             <http-method>DELETE</http-method>
  18. </web-resource-collection>
  19. <auth-constraint>
  20. <role-name>admin</role-name>
  21. </auth-constraint>
  22. </security-constraint>
  23.    
  24.    
  25.    <login-config>
  26. <auth-method>BASIC</auth-method>
  27. <realm-name>Authentification pour Tomcat</realm-name>
  28. </login-config>
  29. <security-role>   
  30. <description/>  
  31.         <role-name>admin</role-name>
  32.   <role-name>user</role-name>
  33.     </security-role>
  34. </web-app>


 
 
J'ai ajouté le code suivant dans mon fichier server.xml à l'intérieur de la balise <Host>:
 
 

Code :
  1. <Context path="/hotel" docBase="hotel"
  2.    crossContext="true" reloadable="true" debug="1">
  3. <Resource name="jdbc/AMDB" auth="root"
  4.           type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
  5.           url="jdbc:postgresql://127.0.0.1:5432/AMDB"
  6.           username="root" password="artirt" maxActive="20" maxIdle="10"
  7. maxWait="-1"/>
  8. </Context>
  9.  <Realm className="org.apache.catalina.realm.JDBCRealm"
  10. connectionName="root"
  11. connectionPassword="artirt"
  12. localDataSource="true"
  13. dataSourceName="jdbc/AMDB"
  14. driverName="org.postgresql.Driver"
  15.    connectionURL="jdbc:postgresql://127.0.0.1:5432/AMDB"
  16. userTable="users"
  17. userRoleTable="roles"
  18. userNameCol="username"
  19. userCredCol="password"
  20. roleNameCol="role-name"
  21. />


 
 
Ma base de données est créée sous postgresql avec les codes suivants (copiés de pgAdmin):
 

Code :
  1. -- Table: roles
  2. -- DROP TABLE roles;
  3. CREATE TABLE roles
  4. (
  5.   username character varying(32) NOT NULL,
  6.   "role-name" character varying(32) NOT NULL,
  7.   CONSTRAINT cleprimroles PRIMARY KEY (username, "role-name" ),
  8.   CONSTRAINT foreignckeyroles FOREIGN KEY (username)
  9.       REFERENCES users (username) MATCH SIMPLE
  10.       ON UPDATE NO ACTION ON DELETE NO ACTION
  11. )
  12. WITH (OIDS=FALSE);
  13. ALTER TABLE roles OWNER TO root;
  14. -- Table: users
  15. -- DROP TABLE users;
  16. CREATE TABLE users
  17. (
  18.   username character varying(32) NOT NULL,
  19.   "password" character varying(32) NOT NULL,
  20.   CONSTRAINT cleprimusers PRIMARY KEY (username)
  21. )
  22. WITH (OIDS=FALSE);
  23. ALTER TABLE users OWNER TO root;


 
 
 
Tout cela étant fait, lorsque je démarre Tomcat et je lance ne page dans mon application, la fenetre d'authentification de firefox (avec login et password) apparait. J'y rentre les coordonnees, et si elles sont correctes j'ai la page d'erreur suivante :  
 
 
http://img78.imageshack.us/img78/5864/tomcatwn4.th.jpg
 
 
L'erreur est :  

Code :
  1. Etat HTTP 403 - L'acc�s � la ressource demand�e a �t� interdit


Merci d'avance de votre aide.

Reply

Marsh Posté le 30-11-2008 à 09:40:43   

Reply

Sujets relatifs:

Leave a Replay

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