Я хотел использовать MongoDB в своем приложении Grails, а также Spring Security.Я сгенерировал классы User и Role с помощью команды s2-quickstart
.Я добавил свойство id
ко всем моим классам типа ObjectId
, как говорится во многих статьях блога.
Это работает, но один метод меня немного беспокоит:
// SecUser.groovy (generated by s2-quickstart)
def beforeUpdate() {
if (this.isDirty('password')) {
encodePassword()
}
}
Метод isDirty()
, по-видимому, недоступен в среде MongoDB.Работает нормально, используя Hibernate.Это ошибка под http://jira.grails.org/browse/GPMONGODB-114
Есть ли способ обойти этот метод?Насколько я понимаю, он проверяет, был ли изменен пароль, а затем снова его кодирует.
Разве нельзя было бы сделать это вручную?Например, если у меня есть страница Профиль пользователя с включенным полем пароля, я просто зашифрую ее при сохранении?
Я бы очень хотел использовать и Spring Security, и MongoDB вместеи я уверен, что этот метод не остановит меня.;)