我将 Spring Security 3.1 与 Spring 3.2 和 EclipseLink JPA 一起使用。我正在配置 Spring Security 以使用 MySQL 数据库中的用户和组。所有 Spring 文档和教程都说要使用
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource" />
</authentication-provider>
<bean id = "dataSource" class = "org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name = "driverClassName" value = "com.mysql.jdbc.Driver"/>
<property name = "url" value = "jdbc:mysql://localhost:3306/webcosts"/>
<property name = "username" value = "root"/>
<property name = "password" value = "root"/>
</bean>
但是我已经在 persistence.xml 中定义了我的数据源,如下所示
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="MyPersistenceUnit">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
ETC
有什么方法可以让 jdbc-user-service 直接或通过适配器引用持久性单元,还是我需要输入两次数据库信息并拥有两组数据库连接?
我已经进行了谷歌搜索,并且我已经阅读了 Spring 文档,但我找不到太多。Spring 文档似乎是专家写的,对于专家来说,对于框架的初学者来说并不完全直观!