1. 모듈 설정
1-1) 메이븐 레포지토리 -> spring security 검색
-Spring Security Core
-Spring Security Config
두 가지를 사용하며 pom.xml에 추가
=====properties : 메이븐이 적용된 프로젝트에서 공통적으로
사용할 버전 또는 설정값 정보를 작성하는 태그=========
<properties>
<java-version>1.8</java-version>
<org.springframework-version>5.2.10.RELEASE</org.springframework-version>
<org.aspectj-version>1.9.4</org.aspectj-version>
<org.slf4j-version>1.7.25</org.slf4j-version>
</properties>
별 이슈없으면 properties로 적용해놓은것과 일치하도록 모듈 버젼에도 ${org.springframework-version} 입력한다.
----메이븐에서 설정 문제가 자주 나므로 혹시 모르니 추가----
<!-- 메이븐 구성 문제로 인한 pom.xml 문제 해결 -->
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
1-2) pom.xml 추가 후 설정 관련 resource 폴더에 spring-security.xml 생성
---생성 후 namespace 탭에서 security 체크한다
---beans 내부에 작성한다
<bean id="bCryptPasswordEncoder"
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder" />
(BCrypt클래스의 경로이다)
1-3) web.xml로 이동해서 구문을 추가한다
<context-param> 에 <param-value>안에 classpath:spring/appServlet/spring-security.xml
서버가 시작하면 web.xml 제일먼저 -> 그중 param-value 읽어들임
-> spring-security를 등록했으므로 그 안의 bean 읽어 스프링이 객체 관리 -> DI 사용 가능해짐
2. 사용
2-1 객체 DI
@Autowired
private BCryptPasswordEncoder encoder;
//Bean으로 등록된 BCryptPasswordEncoder 객체를 의존성 주입(DI)
2-2 암호화 진행
encoder.encode(문자열) => 암호화 문자열 반환
encoder.matches(원본 문자열 , 암호화 된 문자열 ) => 원본과 암호화문자가 일치하는지 true / false
SHA-512는 매번 같은 암호화 문자열이 반환되는 문자가 생성되는 문제가 있는데 반해
Bcrypt 암호화는 매번 다른 문자열이 반환되고 확인해낼 수 있다
'개발자로 업그레이드 되자 > SpringMVC' 카테고리의 다른 글
스프링 MVC - 이미지 업로드 / 파라미터 사용 DB삽입 (0) | 2022.01.11 |
---|---|
스프링MVC - 트랜잭션 및 예외처리 (0) | 2022.01.06 |
스프링MVC - Mybatis (0) | 2022.01.06 |
스프링MVC - 파라미터 받기 (0) | 2022.01.06 |
Spring MVC 환경 구축 (0) | 2022.01.03 |