jdbc, spring security, apache commons dbcp
Au Printemps de Sécurité, j'ai défini une jdbc auth manager:
<security:authentication-manager>
<security:authentication-provider>
<security:jdbc-user-service data-source-ref="securityDataSource"/>
</security:authentication-provider>
</security:authentication-manager>
<bean id="securityDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.postgresql.Driver"/>
<property name="url" value="jdbc:postgresql://127.0.0.1:5432/mydb"/>
... user and password props ...
</bean>
À ce point, j'ai découvert que j'ai besoin de Jakarta Commons DBCP.
J'ai ajouté communes-dbcp-1.4, j'obtiens l'exception suivante:
...java.lang.NoClassDefFoundError: org/apache/commons/pool/KeyedObjectPoolFactory
Ce chemin n'est pas vraiment inclus dans les communes dbcp 1.4.
Ce qui me manque encore?
ÉDITÉ
Ok, ajout de la dépendance à la piscine commune, il fonctionne parce que avec les informations d'identification correctes je n'ai plus d'obtenir le "bad credentials".
Mais je reçois un Statut HTTP 403 - Accès vous est refusé.
Semble que mon utilisateur est authentifié , mais n'est pas autorisé.
Aucune idée...? 🙂
Mon http élément est:
<security:http auto-config="true" >
<security:intercept-url pattern="/**" access="ROLE_USER"/>
</security:http>
et j'ai un "test" de l'utilisateur qui est lié à l ' "UTILISATEUR" le rôle dans les "autorités" de la table.
grâce
OriginalL'auteur AgostinoX | 2011-06-28
Vous devez vous connecter pour publier un commentaire.
Communes DBCP s'appuie sur les Communes de Piscines bibliothèques, de ce fait, vous avez réellement besoin de télécharger les communes-piscine fichiers jar, et de les inclure dans votre chemin.
Communes De La Piscine Téléchargements
Vous pouvez aussi avoir besoin de télécharger le commons-collections paquet, trop.
Je ne suis pas à 100% familier avec Postgres, cependant, je suis sûr qu'ils ont une sorte de journal qui vous devriez être en mesure de tourner sur. De votre côté, vous pouvez obtenir le code source des Communes DBCP et voir ce qui est envoyé à travers en utilisant Eclipse ou Netbeans. Mais, il a probablement n'aurez pas l'énoncé complet (vraisemblablement une déclaration préparée à l'avance que le Printemps de Sécurité et génère un objet qui contient toutes les valeurs de param).
J'ai ÉDITÉ la question, j'ai un peu plus loin prolbem 🙂
OriginalL'auteur El Guapo
Le fichier jar communes-dbcp-1.4 ne contient pas la classe
org.apache.commons.pool.keyedobjectpoolfactory
Vous avez besoin d'ajouter un autre pot pour votre projet chemin de classe - commons-piscine-1.4.
Vous pouvez télécharger des communes-piscine-1.4 à partir d'ici http://commons.apache.org/pool/download_pool.cgi
OriginalL'auteur Rakesh
Essayez de changer votre test de l'autorité de l'utilisateur à ROLE_USER.
OriginalL'auteur Owen
N'oubliez pas que vous aurez également besoin de Postgre pilotes JDBC, juste au cas où vous ne l'auriez pas compris ceux qui sont déjà.
OriginalL'auteur Drizzt321