Да, это немного вводит в заблуждение. Реализация плагина по умолчанию использует оболочку Grails вокруг класса реализации User для пользовательского интерфейса в весенней безопасности. Этот интерфейс требует три поля, которые вы не хотите иметь, и поэтому весь плагин также реализует это.
Код, который вам не удался, будет найден в реализации сведений о пользователе по умолчанию:
boolean enabled = enabledPropertyName ? user."$enabledPropertyName" : true
boolean accountExpired = accountExpiredPropertyName ? user."$accountExpiredPropertyName" : false
boolean accountLocked = accountLockedPropertyName ? user."$accountLockedPropertyName" : false
boolean passwordExpired = passwordExpiredPropertyName ? user."$passwordExpiredPropertyName" : false
Обходным путем будет реализация собственного UserDetailsService и просто установка значений в ложное жесткое кодирование. В качестве альтернативы просто используйте поля как переходные свойства в вашем доменном классе с геттерами, которые возвращают false.
Рецепт пользовательских данных можно найти здесь:
http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/guide/11%20Custom%20UserDetailsService.html