원리
1. 데이터베이스에서 패스워드를 가져온다.
2. 알고리즘 id (bcrypt) 를 읽는다.
3. bcrypt 이라면 로그인 페이지에서 가져온 텍스트를 암호화한다.
4. 로그인 페이지에서 가져온 암호화된 패스워드와 데이터베이스 암호와 비교한다.
5. 같다면 로그인 성공
6. 틀리면 로그인 실패
데이터베이스에서 가져온 패스워드는 해독이 절대 안된다.
왜냐하면 bcrypt는 한 방향 암호화 알고리즘이기 때문이다.
스키마 새로 만들어 준다.
패스워드는 68글자.
왜냐하면 8글자는 앞에 알고리즘id이고
60글자가 암호화된 패스워드이다.
properties 파일에서 스키마 이름만 바꾸면 된다.
그러면 properties 파일의 내용을 dataSource로 저장하고
dataSource는 appConfig에 저장되며
Spring security가 필요할 때 제공하기 위해 Security Config에 저장되고
Spring security 는 dataSource의 정보로 데이터베이스에 접근하여
이름과 비밀번호를 비교한다.
비밀번호 수정
텍스트에서 bcrypt 을 적용하는 사이트
비밀번호를 수정하고 apply를 하자.
친절하게 쿼리로 표시해주는 창이 뜬다..
이것도 apply...
로그인하면 문제없이 완료
'컴퓨터공학 > Spring & Hibernate' 카테고리의 다른 글
Spring> Spring REST> HTTP (0) | 2021.05.30 |
---|---|
Spring> Spring REST> JSON Data Binding (0) | 2021.05.30 |
Spring> Security> JDBC Database Authentication (0) | 2021.05.30 |
Spring> Security> User Role (0) | 2021.05.28 |
Spring> Security> Cross Site Request Forgery(CSRF) (0) | 2021.05.28 |