私はアプリケーションでMongoDBとSpring Security CoreとUIを使用しています。 ほぼすべてがこのビットを除いて、完璧に動作します:Grails - MongoDBとカスタムダーティチェック
def beforeUpdate() {
if (isDirty('password')) {
encodePassword()
}
}
ユーザードメインクラスの一部です。私は汚れたチェックがまだMongoDBプラグインでサポートされていなかったと読んでいます。だから私はこのように私自身を実装しようとしました:
しかし、それは動作していません。私は古典を得るCannot get property 'password' on null object.
ドメインクラス定義からインスタンスを参照する方法を知っている人はいますか? 私は汚れたチェックを実装するための良いアイディアにもオープンしています。
このJIRAの問題で最後のコメントを参照してください:http://jira.grails.org/browse/GPMONGODB-114?focusedCommentId=69898&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-69898 "beforeInsert、beforeUpdate、およびencodePasswordメソッドを削除し、以前のバージョンのプラグインのようにパスワードを暗号化する必要があります。コントローラ、サービスなどでspringSecurityService.encodePassword()を使用してください。 – Klemens