혼자공부중
공부하는 블로그
혼자공부중
전체 방문자
오늘
어제
  • 분류 전체보기 (111)
    • 자격증 (49)
      • 정보처리기사 실기 (49)
    • JAVA (18)
    • DB (0)
    • 알고리즘 문제 풀이 (11)
      • 프로그래머스 (11)
    • Front (0)
      • HTML (0)
      • CSS (0)
      • Javascript (0)
    • 패스트캠퍼스 강의 (33)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • SQLD
  • 코딩테스트
  • 정보처리기사 실기 정리
  • 정보처리기사 필기
  • 정보처리기사 실기
  • 상속
  • 애플리케이션테스트
  • UI
  • 객체지향
  • 프로그래머스
  • 2022정보처리기사
  • 2022정보처리기사필기
  • 반복문
  • DBMS
  • 정보처리기사 필기 정리
  • 자바
  • 수제비
  • 정보처리기사
  • Java
  • 관계형데이터베이스
  • 데이터모델
  • 2022정보처리기사실기
  • 메소드
  • 시나공
  • 패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완
  • 알고리즘
  • 인터페이스
  • 변수
  • 데이터베이스
  • 배열

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
혼자공부중
패스트캠퍼스 강의

[22일차] 50일 포트폴리오 챌린지

[22일차] 50일 포트폴리오 챌린지
패스트캠퍼스 강의

[22일차] 50일 포트폴리오 챌린지

2023. 8. 29. 11:11
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/43z0P6S 

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr



스프링 시큐리티

스프링 시큐리티는 스프링 기반 애플리케이션의 인증과 권한을 담당하는 스프링의 하위 프레임워크이다.

  • 인증(Authenticate)은 로그인을 의미한다.
  • 권한(Authorize)은 인증된 사용자가 어떤 것을 할 수 있는지를 의미한다.

스프링 시큐리티 설치

스프링 시큐리티 사용을 위해 다음과 같이 build.gradle 파일에 의존성을 추가

dependencies{
	implementation 'org.springframework.boot:spring-boot-starter-security'
  	implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6:3.1.1.RELEASE'
}

스프링 시큐리티와 이와 관련된 타임리프 라이브러리를 사용하도록 설정했다. "Refresh Gradle Project"를 수행하여 필요한 라이브러리를 설치한 후 로컬서버도 재시작 한다

thymeleaf-extras-springsecurity6

thymeleaf-extras-springsecurity6 패키지를 사용하기 위해 뒤에 3.1.1.RELEASE과 같은 버전 정보를 추가했다. thymeleaf-extras-springsecurity6 패키지는 스프링부트가 자체적으로 관리하는 패키지이기 때문에 버전 정보가 필요없지만 현재 사용중인 스프링부트 버전인 3.0.0 버전에서는 위와 같은 버전 정보를 입력하지 않으면 오류가 발생한다. 만약 버전 정보를 제거하고 사용하더라도 오류가 없다면 버전 정보 없이 사용해도 된다.

스프링 시큐리티 설정

스프링 시큐리티를 설치하고 로컬서버를 재시작한 후에 localhost에 접속해 본다.

스프링 시큐리티는 기본적으로 인증되지 않은 사용자는 서비스를 사용할 수 없게끔 되어 있다. 따라서 인증을 위한 로그인 화면이 나타나는 것이다. 하지만 이러한 기본 기능은 그대로 적용하기에는 곤란하므로 시큐리티의 설정을 통해 바로 잡아야 한다.

다음과 같이 SecurityConfig.java 파일을 작성

@Configuration
@EnableWebSecurity
public class SecurityConfig {
    @Bean
    SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
            .authorizeHttpRequests(auth -> auth
                .requestMatchers(new AntPathRequestMatcher("/**")).permitAll())
        ;
        return http.build();
    }
}

@Configuration은 스프링의 환경설정 파일임을 의미하는 애너테이션이다. 여기서는 스프링 시큐리티의 설정을 위해 사용되었다. @EnableWebSecurity는 모든 요청 URL이 스프링 시큐리티의 제어를 받도록 만드는 애너테이션이다.

@EnableWebSecurity 애너테이션을 사용하면 내부적으로 SpringSecurityFilterChain이 동작하여 URL 필터가 적용된다.

스프링 시큐리티의 세부 설정은 SecurityFilterChain 빈을 생성하여 설정할 수 있다. 다음 문장은 모든 인증되지 않은 요청을 허락한다는 의미이다. 따라서 로그인을 하지 않더라도 모든 페이지에 접근할 수 있다.

http
    .authorizeHttpRequests(auth -> auth
        .requestMatchers(new AntPathRequestMatcher("/**")).permitAll())
    ;

 

저작자표시 변경금지 (새창열림)

'패스트캠퍼스 강의' 카테고리의 다른 글

[24일차] 50일 포트폴리오 챌린지  (1) 2023.08.31
[23일차] 50일 포트폴리오 챌린지  (0) 2023.08.30
[21일차] 50일 포트폴리오 챌린지  (0) 2023.08.28
[20일차] 50일 포트폴리오 챌린지  (1) 2023.08.27
[19일차] 50일 포트폴리오 챌린지  (0) 2023.08.26
  • 스프링 시큐리티
  • 스프링 시큐리티 설치
  • 스프링 시큐리티 설정
'패스트캠퍼스 강의' 카테고리의 다른 글
  • [24일차] 50일 포트폴리오 챌린지
  • [23일차] 50일 포트폴리오 챌린지
  • [21일차] 50일 포트폴리오 챌린지
  • [20일차] 50일 포트폴리오 챌린지
혼자공부중
혼자공부중
대단한 목적보다는 혼자 공부하는 것에 의미를 두려고 합니다.

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.