IT수업/STS3

IT 수업 21주차 (141) Security 2

워제하 2024. 5. 13. 12:41

 

 

앞에서 login 페이지를 만들지 않았지만 자동으로 만들어졌다고 했었다. 개발자도구를 열어 form을 열면

post방식이고 csrf 를 통한 보안이 사용한 것을 확인 할 수 있다.

 

 

 

 

나중에 커스텀한 페이지를 만들기 위해 csrf 보안을 꺼준다. 

 

 

그럼 개발자도구를 열었을 때 csrf가 사라진 것을 확인 할 수 있다.

 

 

 

SecurityConfig에서 로그인, 로그아웃 페이지를 연결시켜준다.

 

그리고 UserController에서 login페이지와 getMapping해준다.

 

 

view에 login페이지를 만들어서 원하는 폼을 작성해준다.

 

그리고 실행하면 login페이지가 나오게 된다.

 

user, member, admin 중 아무거나 로그인 하고 해당 페이지에서 주소창에 /logout을 치면 로그아웃이 되면서 login 페이지로 넘어오게 된다.

 

 

회원가입을 위해 이전에 만들어 둔 join페이지를 username과 password만 남기고 수정해준다.

 

UserDto에서 필요없는 것은 주석처리 해주고 role은 추가해준다.

 

 

그런 다음 Mapper에 UserMapper 인터페이스를 만들어준다.

 

 

UserDto에 맞게 값을 넣기 위해 sql문을 작성해준다.

 

 

 

UserController에서 userMapper와 passwordEncoder를 작성해주고 가입이 성공하면 로그인 페이로 넘기기 위해 로그인 페이지로 리다이렉트 해준다.

 

 

프로젝트를 실행시켜 join페이지로 가서 회원가입을 해보면 mysql workbench에 해당 아이디와 비밀번호가 들어간 것을 확인 할 수 있다.( 만약 error로 sql 문제가 발생하면 workbench로 가서 열 갯수(username, password, role만 있는지)가 맞는지 확인 하면 된다. islocked 열이 있어서 삭제함)

 

가입이 되면 login페이지로 자동으로 넘어가게 된다.