您似乎可以使用身份验证提供程序和jdbc-user-service在xml中创建身份验证管理器,该服务器将bean列为其数据源。但是,该bean中的信息与hibernate.cfg.xml中的信息差不多。
所以我的问题是,我是否需要重复此信息,还是可以创建一个数据源-ref到hibernate.cfg.xml?
<authentication-manager alias="authenticationManager">
<authentication-provider>
<jdbc-user-service
data-source-ref="securityDataSource"
users-by-username-query="select username, password, enabled from users where username = ?"
/>
</authentication-provider>
</authentication-manager>
答案 0 :(得分:0)
Spring Security无法读取hibernate.cfg.xml,但是您可以使用基于Java的配置创建securityDataSource
:
@Configuration
public class DataSourceConfig {
@Bean
public DataSource securityDataSource() {
// parse hibernate.cfg.xml, create and return DataSource
}
}
作为替代方法,您可以实现自己使用Hibernate的UserDetailsService
。