웹 출시 - 2

Lumi·2021년 8월 12일
0

project

목록 보기
2/16
post-thumbnail

깃헙
https://github.com/HoJin-jjimgo/myhome

원래는 FASTCAMPUS를 통해서 Security를 학습후 진행하려고 했지만 도저히 campus를 통해서는 security를 이해하기가 어려웠다.. 그래서 일단 실습을 따로 진행을 해본후에 어느 정도 감을 잡은후 강의를 수강해볼 예정이다.

security(config)

config

-> 페이지에대한 보안을 걸수 있는 메서드 이다.
authorizeRequest를 통해서 페이지에대한 보안을 걸수가 있으며
내가 작성한 코드는 기본페이지, 회원가입페이지(register), css등을 허용하였다.
-> css를 허용 하지 않으면 css파일이 무시되기 떄문에 css가 작동되지 않는다.

이후 formlogin을 통해서 홈페이지이후의 어떤 페이지든 login페이지를 거쳐서 들어가게 해주었다.

configureGlobal

-> 주석으로 설명을 해놨기 때문에 skip

Service

-> 주석으로 설명을 해놓았기 떄문에 부가적인 설명은 하지 않겠다
-> business logic을 처리하는 class를 따로 만들었다.

아이디, 권한 부여

-> 아이디를 만들 었을떄 DB의 값을 담을수 있는 class(user)와 권한을 인증해줄수 있는 class(Role)를 만들었다.

-> JPA를 통해서 서로 연관관계를 만들어 주었고 DB에서도 추가적인 연관관계를 만들어 주었다.

위에서부터 순서대로 user, role, user_role

위 코드의 결과는

오른쪽 위에있는 로그인과 회원가입을 구성한다.

로그인을 누를시에 th:href로 인해서 로그인 페이지로 이동하며 회원가입또한 동일하게 작동한다.

여기서 중요한 점은

  • sec:authorize="isAuthenticated()
    이다.

이 코드를 통해서 권한이 부여된 = 로그인 상태가 되어 있다면

이와 같은 페이지가 호출이 된다.


회원 가입 및 로그인에 대한 Controller 이다.

처음 GET은 단순히 로그인에 대한 페이지를 return 해준다.

두번쨰 Get은 회원가입에 대한 페이지를 return 해준다.

Post는 회원가입 페이지에서 들어오는 값(username, password)를 받아서 DB에 저장해 준뒤 return 을 홈페이지로 해준다

**
타입립 부분은 아직 잘 이해를 못할 수도 있다고 생각한다.
-> 이번 프로젝트를 통해서 처음해보았기 떄문에

지금 현재 상황에서 문제는 회원가입을 통해서 정보를 생성하게 되면 DB에서는 user_id와 role_id가 생성이 되게 되는데 user_id는 생성될떄마다 추가가 되지만 role_id는 1L의값을 강제로 부여하기 떄문에 계속 1로 나오게 된다...

또한 오류가 발생해서 회원가입에 실피해서 user_id는 증가하게 된다...

이 부분을 후에 좀더 공부를 하게 된다면 수정을 해볼 생각이다.
**

=================================================================
내가 공부했던 내용을 정리하는것이기 떄문에 누군가에게 설명을 해줄수가 없다..
-> 이해를 못했다는 의미가 아니라 사진으로만으로는 설명이 다 안된다는 소리이다.

단순히 공부용 또는 기록용으로 남겨놓는것이기 떄문에 더 궁금한점이 있다면 코드를 직접 보면서 다시 학습해볼 생각이다.

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글