在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>
目前我发现我需要使用Jakarta Commons DBCP。我已经添加了commons-dbcp-1.4,但是我遇到了以下异常:
...java.lang.NoClassDefFoundError: org/apache/commons/pool/KeyedObjectPoolFactory
实际上,这个路径并没有包含在commons dbcp 1.4中。
我错过了什么吗?
编辑
好的,已经添加了对common pool的依赖,因为使用了正确的凭据,我不再收到“凭据无效”的页面。
但是我收到了HTTP状态403 - 拒绝访问的错误信息。
似乎我的用户已经通过身份验证,但没有获得授权。
有什么想法吗...? :-)
我的http元素是:
<security:http auto-config="true" >
<security:intercept-url pattern="/**" access="ROLE_USER"/>
</security:http>
我有一个“测试”用户,该用户绑定在“authorities”表中的“USER”角色上。
谢谢