对标准Spring Security
表字段进行更改是否可以接受?
http://static.springsource.org/spring-security/site/docs/3.0.x/reference/appendix-schema.html
特别是,Hibernate
要求我为这些表添加id
字段:
users
authorities
异常:
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): model.Authorities
这意味着,我应该将id字段添加到我的模型bean中,然后将配置添加到*hbm.xml
:
<id name="id">
<generator class="assigned"/>
</id>
最佳做法是什么? 我应该更改Spring Security DB表结构还是以某种方式处理Hibernate?
答案 0 :(得分:1)
只要JdbcDaoImpl
发出的SQL查询不受影响,就可以了。即使您需要更改这些查询,也可以通过适当配置JdbcDaoImpl
来实现。
但是,或许最好创建一个UserDetailsService
的自定义实现,它将重用您的DAO来加载用户信息,并配置Spring Security将其用作
<security:authentication-provider user-service-ref = "..." />