В Spring Security я определил менеджер проверки подлинности jdbc:
<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>
В этот момент я обнаружил, что мне нужен DBCP Jakarta Commons.
Я добавил commons-dbcp-1.4, я получаю следующее исключение:
...java.lang.NoClassDefFoundError: org/apache/commons/pool/KeyedObjectPoolFactory
Этот путь в действительности не включен в dbcp 1.4.
Что мне снова не хватает?
отредактировано
Хорошо, добавил зависимость в общий пул, он работает, потому что с правильными учетными данными я больше не получаю страницу «плохие учетные данные»
Но я получаю HTTP-статус 403 - Доступ запрещен.
Похоже, мой пользователь аутентифицирован, но не авторизован.
Любая идея...? :-)
Мой http-элемент:
<security:http auto-config="true" >
<security:intercept-url pattern="/**" access="ROLE_USER"/>
</security:http>
и у меня есть «тестовый» пользователь, который связан с ролью «ПОЛЬЗОВАТЕЛЬ» в таблице «полномочия».
спасибо