본문 바로가기
개발/Security

[SpringBoot] Security 로그인 인증, 인가(9) - 실행하기

by 코딩하는 흰둥이 2023. 4. 30.

이전글 https://greed-yb.tistory.com/230

 

[SpringBoot] Security 로그인 인증, 인가(8) - Controller

이전글 https://greed-yb.tistory.com/229 [SpringBoot] Security 로그인 인증, 인가(7) - html 이전글 https://greed-yb.tistory.com/228 [SpringBoot] Security 로그인 인증, 인가(6) - Service 이전글 https://greed-yb.tistory.com/227 [SpringBoo

greed-yb.tistory.com

 

 

프로젝트 실행

localhost:9090 으로 접속하면 해당 주소에 대한 권한이 없기 때문에 /login 경로로 이동이 된다

"/" 의 경로는 USER 라는 권한이 있어야 한다

 

 

 

 

 

회원가입

login 화면에서 회원가입 버튼을 클릭하면 위의 이미지 처럼

회원가입 페이지로 이동이 되고 회원가입을 진행한다

 

 

DB에 Insert가 문제 없이 동작하였다면 /login 페이지로 이동된다

 

 

 

 

로그인

회원가입한 Id와 password 를 넣고 로그인을 한다

로그인이 실패하면 loginPage에서 넘어가지 못하고

성공하면 위의 home.html 화면으로 넘어가게 된다

 

 

 

 

 

회원 정보 수정하기

정상적으로 수정완료

 

 

 

 

로그아웃

설정에 따라 로그아웃 시 / 페이지로 이동되는데 

/ 에 권한이 없기 때문에 /login 화면으로 다시 이동된다

 

로그아웃

 

 

 

 

인가 - 권한 체크(로그인 인증은 되어 있지만 권한이 없는 상태다)

Security 를 적용한 제일 큰 이유!

/board/create 경로는 ADMIN 권한만 접속 가능하도록 해놓았다

 

현재 로직상 회원가입하는 모든 유저는 ROLE_USERUSER의 권한만 가지고 있는 상태.

 

 

메인 페이지에서 권한이 없는 경로로 이동해보자

 

 

권한이 없어서 /denied 페이지로 이동되는 것을 볼 수 있다

 

 

 

 

 

 

인증 - 로그인 하지 않고 경로로 이동하려는 경우

로그인이 되어 있지 않은 상태에서 권한이 필요한 경로로 이동해보자

현재 권한이 필요한 페이지가 "/" 와 "/board/create" 밖에 없어서

"/board/create"  로 진행하였다

인증 메서드를 거쳐서 /login 경로로 이동된다

 

loginPage 로 이동됨

 


이렇게 해서 Spring Boot Security 가 끝났다

기본적인 메서드들만 이용하여 로그인과 인증, 인가를 적용하였고

이정도만 하더라도 일반적인 프로젝트를 하고 이해하기에는 충분할 것으로 생각한다

 

Spring MVC 로그인 및 권한을 체크 할 땐  Interceptor 를

적용하여 진행해 보았는데 Security가 그 기능을 대신해주고 있다

 

설정하는 방식을 찾느라, 이해하느라 일주일간 수백번을 고쳐가며 찾고 또 찾아보니

이해가 되지 않던 메서드 들이 이젠 한눈에 의미가 보인다

 

게시글은 일부로 파일마다 글을 나눠놓았다

인터넷 상에 있는 예제 글 및 동영상을 정말 수백개를 보았는데

한 게시글에 몰아서 글을 작성하거나 순서가 중구난방으로 되어 있는 글들이 태반이라

누락되어 있는 코드들도 많아서 일부로 나눠서 글을 올린다

 

처음글 https://greed-yb.tistory.com/223

 

[SpringBoot] Security 로그인 인증, 인가(1) - 환경설정

Java 17 Maven Spring Boot 3.0.3 Spring Security 3.0.4 Oracle 11g Mybatis IntelliJ Ultimate DBeaver Thymeleaf 폴더 구조 더보기 Security 한번 구현해보겠다고 일주일 내내 작업한거 같다 거의 대부분의 예제들은 3.0.0 이하의

greed-yb.tistory.com

댓글