-
Pb DataSourceRealm
salut a tous
j'ai configurer le web.xml et le server.xml comme décrit dans le tutoriel :
" le datasource est testé et ca marche "
mais la phase de securité avec le DataSourceRealm donne des problemes !!
<Realm className="org.apache.catalina.realm.DataSourceRealm"
dataSourceName="jdbc/authen"
userTable="users"
userRoleTable="roles"
userNameCol="name"
userCredCol="password"
roleNameCol="role"
localDataSource="true"
/>
mon realme est declaré a l'interrieur du contexte de l'application
et voila le fichier web.xml
<security-constraint>
<display-name>Test d'authentification tomcat</display-name>
<!-- Liste des pages protégées -->
<web-resource-collection>
<web-resource-name>Page sécurisée</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<!-- Rôles des utilisateurs ayant le droit d'y accéder -->
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<!-- Type d'authentification -->
<auth-method>BASIC</auth-method>
<realm-name>Espace Membres</realm-name>
</login-config>
<!-- Rôles utilisés dans l'application -->
<security-role>
<description>Administrateur</description>
<role-name>admin</role-name>
</security-role>
mais a l'execution , la fenêtre d'authentification s'affiche mais lors de la saisi du login et pass j'ai ca en :
DataSourceRealm[/authen]: Exception performing authentication
javax.naming.NameNotFoundException: Le Nom jdbc n'est pas lié à ce Contexte
merci d'avance de me donner un coup de pouss :) :D @+
-
Bonjour,
quelle version de Tomcat utilses-tu ?
Je ne suis pas sur que l'attribut "localDataSource" existait dans les version ancienne de Tomcat.
Sinon essaie de déplacer la déclaration de ton Realm de manière globale en dehors du contexe de l'application.
-
re Pb datasource realm
j'utilise un tomcat 5.0
je vais essayer de declarer le realme en global mais mon collegue a déja utiliser et ca marche pas
j'ai lu dans une page qu'il y a un bug en ce niveau je vous copie ce qui est ecrit :
* A database – Uses a JDBC driver to lookup the authentication information.
className="org.apache.catalina.realm.JDBCRealm"
* A DataSource – Can use any DataSource (database connection pooling) to look up the authentication information. Unfortunately, at this moment there is a bug that impedes interoperation with any Tomcat context DataSource.
className="org.apache.catalina.realm.DataSourceRealm”
*A JNDI source – Uses any JNDI provider to lookup the authentication information.
className="org.apache.catalina.realm.JNDIRealm”
*A JAAS interface – Uses the JAAS framework to authenticate users.
className="org.apache.catalina.realm.JAASRealm”
merci pour votre reponse , je vais continuer a chercher et je vous donnes exactement mes fichier :
<Context path="/authentification" reloadable="true" docBase="F:\Work\eclipse\workspace\authentification" workDir="F:\Work\eclipse\workspace\authentification\work" >
<Resource name="jdbc/authent" auth="Container" type="javax.sql.DataSource" />
<ResourceParams name="jdbc/authent">
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>password</name>
<value>mounir</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql://127.0.0.1:5432/authent</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>username</name>
<value>postgres</value>
</parameter>
</ResourceParams>
<Realm className="org.apache.catalina.realm.DataSourceRealm"
debug="99" dataSourceName="jdbc/authent" localDataSource="true"
userTable="users" userNameCol="name" userCredCol="password"
userRoleTable="roles" roleNameCol="role" />
<!-- userRoleCol="role" -->
<Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="99"/>
</Context>
si vous avez un commentaire :) merci de me le dir :D :lol:
@ toute a l'heure