2013-06-29 2 views
2

instructions 다음에 Grails 2.1.1 및 스프링 보안 코어 1.2.7.3의 암호화 알고리즘으로 bcrypt를 구성하려고합니다. Config.groovy 파일에서 :누락 된 소금 라운드 오류

grails.plugins.springsecurity.password.algorithm = 'bcrypt' 
grails.plugins.springsecurity.password.bcrypt.logrounds = 100 

나는 이전에 염을 사용했는데 그것은 잘 작동했지만,이 변화를 내가 하나 개의 인수 버전으로 내 User.encodePassword()를 편집했다.

내가 Bootstrap.groovy에 새로운 사용자를 생성하고 저장하려고 :

Message: Missing salt rounds 
    Line | Method 
->> 678 | hashpw      in org.mindrot.jbcrypt.BCrypt 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|  44 | encodePassword    in grails.plugins.springsecurity.BCryptPasswordEncoder 
|  87 | encodePassword . . . . . . . in grails.plugins.springsecurity.SpringSecurityService 
|  42 | encodePassword    in com.madeupname.app.User 
|  32 | beforeInsert . . . . . . . . in  '' 
|  46 | onApplicationEvent   in org.grails.datastore.mapping.engine.event.AbstractPersistenceEventListener 
|  27 | doCall . . . . . . . . . . . in BootStrap$_closure1_closure3_closure4 
| 314 | execute      in grails.util.Environment$EnvironmentBlockEvaluator 
| 295 | executeForEnvironment . . . in grails.util.Environment 
| 270 | executeForCurrentEnvironment in  '' 
| 334 | innerRun . . . . . . . . . . in java.util.concurrent.FutureTask$Sync 
| 166 | run       in java.util.concurrent.FutureTask 
| 1110 | runWorker . . . . . . . . . in java.util.concurrent.ThreadPoolExecutor 
| 603 | run       in java.util.concurrent.ThreadPoolExecutor$Worker 
^ 722 | run . . . . . . . . . . . . in java.lang.Thread 

내가 놓친 것 무엇을 어떤 생각 :

testUser = new User(username: '[email protected]', enabled: true, password: 'password').save(flush: true) 

나는이 오류가?

답변

3

이 구현에서는 4와 31 사이의 값을 지정해야합니다. 문서를 업데이트했습니다.