Kotlin – Spring Security 및 H2 데이터베이스 통합
4175 단어 securityspringbootkotlin
Kotlin – Spring Security 및 H2 데이터베이스 통합
과거post에 H2 데이터베이스로 개발하기 위해 Kotlin SpringBoot 프로젝트를 설정했습니다. 그러나 프로젝트에서 Spring Security를 활성화하면 H2 데이터베이스 콘솔이 403 오류와 함께 차단됩니다. 따라서 자습서에서는 액세스 거부 문제를 해결하기 위한 구성 방법을 보여줍니다.
I. 기술
– 코틀린 1.2.20
– 아파치 메이븐 3.5.2
– Spring Tool Suite – 버전 3.9.0.RELEASE
– 스프링 부트 – 1.5.10.RELEASE
– 부트스트랩
II. 목표
1. 문제
프로젝트에서 H2 데이터베이스를 사용하여 Spring Security를 개발하고 활성화하는 경우 H2 콘솔 경로 '/h2_console'에 액세스할 때 액세스 거부 페이지 오류가 발생합니다.
왜요?
-> 기본적으로 Spring Security는 H2 데이터베이스의 '/h2_console' 경로를 차단합니다.
2. 해결하다
솔루션은 아래 세그먼트 코드와 같이 Spring Security를 사용한 간단한 구성입니다.
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
...
http.csrf().disable();
http.headers().frameOptions().disable();
http.csrf().disable()
: CRSF를 비활성화합니다.http.headers().frameOptions().disable()
: H2 데이터베이스 콘솔이 프레임 내에서 실행되므로 Spring Security에서 X-Frame-Options를 비활성화해야 합니다.3. 목표
아래와 같은 구조로 Kotlin SpringBoot를 생성합니다.
H2의 콘솔 액세스 요청: ' http://localhost:8080/h2_console '
-> 로그인 페이지로 리디렉션됩니다.
계정으로 로그인: '사용자/사용자', 액세스 거부 페이지로 리디렉션됩니다.
-> 로그아웃
다시, H2의 콘솔에 액세스하도록 요청합니다: ' http://localhost:8080/h2_console ', 사용자로 로그인: 'admin/admin', H2의 로그인 페이지로 리디렉션됩니다.
'연결'을 누릅니다. 그런 다음 다른 탭인 ' http://localhost:8080/save '에서 요청하십시오. 그런 다음 'select * from customer'라는 쿼리를 작성합니다.
-> 이제 Spring Security 및 H2 데이터베이스를 사용하여 Kotlin Spring Boot 프로젝트를 개발할 수 있습니다!
III. 구현
할 단계
– Kotlin Spring Security 프로젝트 생성
– H2 데이터베이스로 비즈니스 웹 애플리케이션 구현
1. Kotlin Spring Security 프로젝트 생성
기사의 가이드를 따르십시오: Kotlin SpringBoot – Configure Spring Security . 그런 다음 세그먼트 코드를 수정합니다.
더 보기:
https://grokonez.com/spring-framework/spring-boot/kotlin-spring-boot/kotlin-integrate-spring-security-h2-database
Kotlin – Spring Security 및 H2 데이터베이스 통합
Reference
이 문제에 관하여(Kotlin – Spring Security 및 H2 데이터베이스 통합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/loizenai/kotlin-integrate-spring-security-h2-database-5b7e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)