inflearn logo
강의

Course

Instructor

Spring Boot JWT Tutorial

Security settings, Data settings

시큐리티를 적용하고 호스팅에 올리면 오류가 납니다.

687

holykhd

58 asked

0

샘플 프로젝트를 스프링 부트 최신버전으로 하고 jdk는 1.8로하고 그래이들로 만들었습니다.
HomeController

@Controller
public class HomeController {

    @GetMapping("/")
    public String index() {
        return "login";
    }

    @GetMapping("/login")
    public String login() {
        return "/index__";
    }
}

이렇게 해서 도메인 접속 시 login페이지로 이동하게 했는데 war로 cafe24에 배포를 하면 정상적으로 login페이지가 보여집니다.

여기까지는 문제가 없는데 문제는 Spring Security를 적용했을 때 발생합니다.ㅠㅠ

CustomAuthenticationEntryPoint는

public class CustomAuthenticationEntryPoint implements AuthenticationEntryPoint {
    @Override
    public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {
        response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized");
    }
}

이렇게 되어있고, 

SecurityConfig 파일은

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/").permitAll()
                .and()
                .formLogin()
                .loginPage("/login");

        http.exceptionHandling()
                .authenticationEntryPoint(new CustomAuthenticationEntryPoint());

    }
}

이렇게 되어있습니다.

원래 SecurityConfig에 설정을 다 넣었었는데 Security만 적용을 하고 cafe24에 배포를 하면 404오류가 계속 나와서 아무리 이리저리 방법을 찾아봐도 도저히 방법을 찾을 수 없어서 
기본 설정만 저렇게 넣어놓고 테스트를 했는데도 404오류가 나옵니다.ㅠㅠ

분명 로그인 페이지를 /login 으로 하고 기본 로그인 페이지도 이동하는 매핑을 했는데 왜 안되는지 모르겠네요.ㅠㅠ

 

오류 메시지는

2021-12-02 16:50:12.197  INFO 48329 --- [com-startStop-1] com.example.sample.ServletInitializer    : Started ServletInitializer in 7.449 seconds (JVM running for 9.477)
02-Dec-2021 16:50:12.204 심각 [sample.cafe24.com-startStop-1] org.apache.catalina.core.StandardContext.filterStart Exception starting filter errorPageSecurityFilter
 java.lang.AbstractMethodError
	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:285)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:112)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4708)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5348)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:974)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1850)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

02-Dec-2021 16:50:12.205 심각 [sample.cafe24.com-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more Filters failed to start. Full details will be found in the appropriate container log file
02-Dec-2021 16:50:12.205 심각 [sample.cafe24.com-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors
02-Dec-2021 16:50:12.207 정보 [sample.cafe24.com-startStop-1] org.apache.catalina.core.ApplicationContext.log Closing Spring root WebApplicationContext
02-Dec-2021 16:50:12.229 경고 [sample.cafe24.com-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [SeedGenerator Thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 sun.security.provider.SeedGenerator$ThreadedSeedGenerator.run(SeedGenerator.java:362)
 java.lang.Thread.run(Thread.java:745)
02-Dec-2021 16:50:12.230 경고 [sample.cafe24.com-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [SeedGenerator Thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Thread.sleep(Native Method)
 sun.security.provider.SeedGenerator$ThreadedSeedGenerator$BogusThread.run(SeedGenerator.java:475)
 java.lang.Thread.run(Thread.java:745)

 

입니다.

오류로그를 보면 정확히는 모르겠는데 추측해보면 에러페이지 시큐리티 관련 필터를 불러오지 못해서 발생하는 오류인 것 같은데..

검색을 해 봐도 해결이 안되네요.ㅠㅠ

왜 로컬에서는 잘 되는데 war로 묶어서 cafe24 호스팅에 배포를 하면 위와같은 오류가 나오고 안될까요?ㅠㅠ

 

jdk버전은 로컬이나 cafe24모두 openJdk1.8버전입니다.

 

 

spring-boot jwt

Answer 1

0

shonn23230444

Cafe24 에서 Tomcat JSP 호스팅으로 하셔야합니다

0

holykhd

JAVA 개발을 할 때 Tomcat JSP호스팅은 당연한 것 아닌가요?

spring boot 3.x 버전 강의도 만들어주시면 안될까요?

0

70

1

3강 secret key 관련해서 질문있습니다

0

69

1

JwtFilter 에 TokenProvider 선언 시 final 키워드 빠진 이유

0

78

1

/api/authenticate 포스트맨 401 에러

0

225

1

Spring boot 3.x버전에서 data.sql 오류 발생할 경우

4

401

1

/api/hello 접근 시 401 나올 때 해결법

2

307

2

소스코드 전체 볼수 있을까요?

0

399

2

머이렇게 안되는게많노 ㅠ

1

761

2

스프링부트 3.x 버전 data.sql 삽입 오류 발생할 경우 해결 방법

6

1354

2

postman 결과가 다릅니다

0

363

2

body값이 비었습니다.

0

400

2

jjwt 버전을 올렸더니 jwt가 유효하지 않다고 합니다

0

3599

1

Refresh Token

0

507

1

유저 권한 설정

0

370

2

setAuthentication

0

499

1

postman에서 오류가 납니다..

0

1774

3

Spring boot 3.1.5 기준 학습 정리 파일 공유

1

1090

4

/api/hello에 접근이 안됩니다 ㅠㅠ

0

1084

2

mysql 설정로 실습시

0

878

2

유효한 JWT 토큰이 없습니다

0

669

2

8:45 spring security 3.1.5 설정 방법 (버전 안 맞춰서 안될때)

1

2284

2

2:00 에서 저처럼 버전 안 맞춰서 해서 헤매는 분들 이걸로 해보세요.

0

1279

3

JWT String argument cannot be null or empty.

0

2170

2

new User 생성자 오류 발생하는 분들...

6

504

2