유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다.
IDE : IntelliJ
언어 : Java
DB : MySQL
빌드관리 도구 : Maven
OS : iOS
참고유튜브 : 메타코딩
스프링시큐리티를 사용하기 위해서 pom.xml에 해당 라이브러리들을 추가한다.
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
그리고 UserApiController.java으로 이동해서 기존 로그인 방식을 삭제나 주석으로 막자
그 후 메인페이지로 이동하려고 하면 아래와 같은 화면을 볼 수 있다.
스프링 시큐리티가 모든 접근을 막아 해당 페이지로 이동하게 된다.
username에는 user 를 입력하고
password에는 콘솔 중간에 나오는 비밀번호를 입력하면 된다.
콘솔을 확인
그렇게하면 로그인을 할 수가 있다.
하지만 로그인을 할 때마다 콘솔에서 비밀번호를 복사하기 귀찮다.
application.yml 로 이동해서 아래 내용을 추가한다.
name 과 password는 본인이 입력하기 편한걸로 작성하면 된다.
security:
user:
name: 1111
password: 1111
그 후 서버를 다시 실행하면 이제 콘솔에서 비밀번호를 찾을 필요도 없고 비밀번호가 나오지도 않는다.
그리고 내가 입력한 아이디와 비밀번호를 입력하면 로그인이 된다.
header.jsp로 이동해서 해당 taglib을 추가한다.
아래링크에서도 taglib를 확인할 수 있다.
https://www.baeldung.com/spring-security-taglibs
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
로그인 정보를 가져오기 위해서 아래 코드를 추가한다.
<sec:authorize access="isAuthenticated()">
<sec:authentication property="principal" var="principal"/>
</sec:authorize>
해당부분을 바꾸었으니 ctaglib에 로그인한 유저정보가 없을때에 조건을 변경한다.
empty sessionScope.principal -> empty principal 로 변경한다.
<c:when test="${empty principal}">
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="/loginForm">LogIn</a></li>
<li class="nav-item"><a class="nav-link" href="/signForm">SignUp</a></li>
</ul>
</c:when>
그렇다면 principal에는 어떠한 정보가 담겨져 있을까? 확인해보자
header.jsp에 body부분에 principal을 넣어보고 어떠한 값들이 출력되는지 알아보자
다시 서버를 실행하면 아래와 같은 정보들을 볼 수있다.
해당부분은 커스터마이징해서 사용할 수 있다.
'프로젝트 > Spring Boot 블로그프로젝트' 카테고리의 다른 글
[블로그프로젝트] 18. 비밀번호 해쉬 후 회원가입하기 (0) | 2023.06.07 |
---|---|
[블로그프로젝트] 17. 스프링시큐리티 로그인 커스터마이징 (2) | 2023.06.07 |
[블로그프로젝트] error. jstl 500 error 해결 (2) | 2023.05.29 |
[블로그프로젝트] 15. 스프링시큐리티로 로그인하기(2) (0) | 2023.05.19 |
[블로그프로젝트] 14. 스프링시큐리티로 로그인하기 (0) | 2023.04.04 |
댓글