Spring Security标准表字段VS Hibernate必填字段

时间:2011-12-08 11:52:43

标签: hibernate spring-security structure field

对标准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?

1 个答案:

答案 0 :(得分:1)

只要JdbcDaoImpl发出的SQL查询不受影响,就可以了。即使您需要更改这些查询,也可以通过适当配置JdbcDaoImpl来实现。

但是,或许最好创建一个UserDetailsService的自定义实现,它将重用您的DAO来加载用户信息,并配置Spring Security将其用作

<security:authentication-provider user-service-ref = "..." />