일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Java
- Git
- git hub
- 스프링 OAuth
- RESTful웹서비스
- 개발 뭐하지
- 인텔리제이
- 서비스 계층
- 개발자
- 클론코딩
- @RestCotroller
- string
- 깃허브
- .ppk만들기
- 프로그래머스
- 깃
- Scanner
- 스프링
- RESTful
- 인스타그램만들기
- 예외처리
- BufferedReader
- 백엔드
- 입력
- 스프링부트
- 다리를 지나는 트럭
- 백엔드 개발자 뭐해?
- springboot
- 리눅스 서버시간 변경
- Spring
- Today
- Total
It's Ward
[Spring] 클론코딩 - 인스타그램 만들기(2) 본문
2022.06.01 - [Spring Boot/클론코딩-인스타그램] - [Spring] 클론코딩 - 인스타그램 만들기(1)
스프링 부트를 시작 후 http://localhost:8080/ 을 불러오게되면
자동으로 http://localhost:8080/login으로 이동한다.
이유는 우리가 Spring 부트를 만들 때, 아래의 의존성을 설정했기 때문이다.
implementation 'org.springframework.boot:spring-boot-starter-security'
실제로 로그인 화면에서 F12(개발자모드) Network 에서 Ctrl + R을 누르면 다음과 같은 화면이 나오는데,
실제로 요청 한 데이터는 localhost 인데 상태가 302라고 나오면서 실제로는 login 화면으로나온다.(자세한 상태코드 확인은 아래 링크 참조)
https://developer.mozilla.org/ko/docs/Web/HTTP/Status
저 화면이 아닌 우리들의 화면을 확인 할 수있도록 com.ward.photogram에 config package를 추가한 후, SecurityConfig 클래스를 추가한다.
package com.ward.photogram.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@EnableWebSecurity
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter { //시큐리티 리디렉션 페이지 관리
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable(); //기본 시큐리티의 CSRF 토큰 해제(원할한 테스트 위함)
http.authorizeRequests() //아래와 해당하는 URL이 입력되었을때
.antMatchers("/", "/user/**", "/image/**", "/subscribe/**", "/comment/**")
.authenticated() //위와 같다면 and로 이동
.anyRequest() //같지않으면
.permitAll() // 모두 허용
.and()
.formLogin() //만들어둔 form으로 로그인화면 이동
.loginPage("/auth/signin") //resource/static/auth/signin.jsp 열어라
.defaultSuccessUrl("/"); //아니면 root(localhost:8080) 열어라
}
}
해당 프로그램을 제작 후 다시 실행하면, 리디렉션 파일이 localhost:8080/login이 아닌 localhost:8080/auth/signin으로 이동하는것을 확인할 수 있다.
해당 자료는 CSFR-tocken 해제 버전입니다.
https://github.com/ItsWard/project-photogram/commits/main
만약 Path with "WEB-INF" or "META-INF" 과 같은 오류가 발생하였다면, 아래의 포스팅을 확인하도록 하자
2022.06.02 - [Spring Boot/Spring Boot 설정 등 기타] - [Spring] Path with "WEB-INF" or "META-INF" 에러 해결
//여담으로 현재 Spring에서는 WebSecurityConfigurerAdapter을 사용하지 않도록 권장하는 것 같다. 다음과 같은 시큐리티를 이용해 사용해볼 예정이다.
https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter
'Java > 클론코딩-인스타그램' 카테고리의 다른 글
[Spring] 클론코딩 - 인스타그램 만들기(1) (0) | 2022.06.01 |
---|---|
[Spring] PostMan 설치 (0) | 2022.05.30 |
[Spring] Maria DB 설치 및 기본 설정 (0) | 2022.05.30 |
[Spring] 클론코딩 - 인스타그램 구현하기 시작 (0) | 2022.05.29 |