[Spring Boot] There is no PasswordEncoder mapped for the id "null"

Sever 2018. 5. 2. 19:28
반응형

java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"

 


https://spring.io/blog/2017/11/01/spring-security-5-0-0-rc1-released#reverting-to-previous-behavior-insecure



The general format for a password is:

{id}encodedPassword

Such that id is an identifier used to look up which PasswordEncoder should be used and encodedPassword is the original encoded password for the selected PasswordEncoder. The id must be at the beginning of the password, start with { and end with }. If the id cannot be found, the id will be null. For example, the following might be a list of passwords encoded using different id. All of the original passwords are "password".


저 아이디는 PasswordEncoder를 찾는 식별자입니다. 꼭 써야하고 encodePassword는 선택된 PasswordEncoder에 의해 인코드 된 비밀번호입니다.

저 id는 { 로 시작하고 }로 끝나며, 비밀번호의 가장 처음에 위치해야합니다. 만약 id를 발견할 수 없다면 id는 null이 될 것입니다.

다른 id를 이용하여 encode 된 비밀번호의 리스트를 밑에 예로 적어놨습니다. 모든 예의 원본 비밀번호는 password 입니다.



암호화 예가 있었는데 나는 필요없어서 안적었다. 필요한사람은 링크 참조


스프링 시큐리티 버전 5 이상부터는 password 앞에 식별자 정보를 넣어야 된다 아니면 


There is no PasswordEncoder mapped for the id "null"


에러가 난다.


자신이 암호화를 사용하지 않는다면


<security:authentication-manager>
<security:authentication-provider>
<security:user-service>
<security:user name="user" password="{noop}password" authorities="ROLE_USER"/>
</security:user-service>
</security:authentication-provider>
</security:authentication-manager>

이런식으로 비밀번호 앞에 {noop}을 적어두면 에러는 사라질 것

이다.

 

 

출처: http://meaownworld.tistory.com/129

반응형
: