Стандартные поля таблицы Spring Security VS Hibernate обязательные поля - PullRequest
0 голосов
/ 08 декабря 2011

Допустимо ли вносить изменения в стандартные 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

Это означает, что я должен добавить поля идентификатора к моим bean-компонентам модели и следующую конфигурацию к *hbm.xml:

 <id name="id">
            <generator class="assigned"/>
 </id>

Какая лучшая практика?
Стоит ли менять структуру таблицы Spring Security DB или как-то работать с Hibernate?

1 Ответ

1 голос
/ 08 декабря 2011

Это нормально, если на SQL-запросы, выданные JdbcDaoImpl, это не влияет.И даже если вам нужно изменить эти запросы, вы можете сделать это путем соответствующей настройки JdbcDaoImpl.

Однако, возможно, было бы лучше создать пользовательскую реализацию UserDetailsServiceбудет повторно использовать ваши DAO для загрузки информации о пользователе и настроить Spring Security для использования ее как

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