Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- javascript 자동완성
- git 연동
- katalon 비교
- katalon 자동화
- 테스트 자동화
- 톰캣 실시간 로그
- recursion example
- katalon 사용법
- 재귀함수 예제
- 한국투자증권 양도세 신고
- 국세청 해외주식 양도세 신고방식
- oracle group by
- 피보나치함수 예제
- katalon xpath
- js 자동완성
- CSTS 폭포수 모델
- 최대공약수 예제
- Katalon Recorder 사용법
- 피보나치함수
- katalon
- tomcat log
- 해외증권 양도세 한국투자증권
- java.sql.SQLSyntaxErrorException
- 재귀 예제
- 주식 양도세 신고방법
- 피보나치 예제
- 한국투자증권 해외주식 양도세
- bfs 미로탐색 java
- 홈택스 해외주식 양도세
- 해외주식 양도세 신고
Archives
- Today
- Total
엄지월드
스마트에디터 Refused to display in a frame because it set 'X-Frame-Options' to 'DENY' 본문
java/Spring
스마트에디터 Refused to display in a frame because it set 'X-Frame-Options' to 'DENY'
킨글 2022. 8. 23. 18:15
에디터 사용 시 X-Frame-Options Click jacking 공격을 막아주기 위해서 Spring Security의 configure 부분에 아래 코드를 추가해준다.
http.headers().frameOptions().sameOrigin();
전체 코드
package com.myapp.lms.configuration;
import com.myapp.lms.member.service.MemberService;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
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;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
@RequiredArgsConstructor
@EnableWebSecurity
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
private final MemberService memberService;
@Bean
PasswordEncoder getPasswordEncoder() {
return new BCryptPasswordEncoder();
}
@Bean
UserAuthenticationFailureHandler getFailurHandler(){
return new UserAuthenticationFailureHandler();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http.headers().frameOptions().sameOrigin();
http.authorizeRequests()
.antMatchers( // 로그인이 없어도 접근 가능한 위치를 정의
"/",
"/member/register",
"/member/email-auth",
"/member/find/password",
"/member/reset/password",
"/email-auth"
)
.permitAll();
http.authorizeRequests()
.antMatchers("/admin/**")
.hasAuthority("ROLE_ADMIN");
http.formLogin()
.loginPage("/member/login")
.failureHandler(getFailurHandler())
.permitAll();
http.exceptionHandling()
.accessDeniedPage("/error/denied");
super.configure(http);
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(memberService)
.passwordEncoder(getPasswordEncoder());
super.configure(auth);
}
}
'java > Spring' 카테고리의 다른 글
Comments