spring security 를 적용하고
로그인으로 정상적인 권한 획득까지 이루어졌는데
일반적인 화면은 잘 나오는데 iframe 으로 같은 서버 내의 페이지를 호출해도 나오지 않을 경우
(아래와 같이 보안으로 접근이 안됨)
security-context.xml 에서 아래와 같이 설정을 해주면 iframe으로 페이지를 호출 할 수 있습니다.
<http auto-config="true">
....
<headers>
<frame-options policy="SAMEORIGIN"/><!-- iframe 안되는걸 방지 -->
</headers>
....
</http>
위와 같이 풀어도 다른 사이트에서 iframe 으로 본인의 사이트를 iframe으로 호출하는 것은 막힙니다.
추가로 spring security 적용을 하고나니
ajax나 스크립트로 parent 함수 등을 호출해야 하는데 보안으로 작동이 안하는 경우,
security-context.xml 에서 csrf 가 지정되어 있을 것입니다.
이를 해결하기 위해서는 두가지 방법이 있는데
1) <csrf disabled="true"/> 설정을 하는 방법
2) 각 form 안에 <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" /> 를 추가해주는 방법
2번 방법을 해도 parent 함수를 호출해야 한다거나 하는 처리는 안되는 것으로 보입니다.
전 1번 방법으로 막았습니다.
감사합니다.
'Tip' 카테고리의 다른 글
Apache POI excel download 엑셀 다운로드 (0) | 2020.04.02 |
---|---|
[spring] mysql connection pool 유휴쿼리 검사 (0) | 2020.04.02 |
[spring] LG 전자결제연동 returnUrl 구현 (0) | 2020.04.02 |
[chart.js] 통화 3자리 콤마-수정(2021.02.22) (0) | 2020.04.02 |
[MSSQL] 업데이트한 데이터 백업, 로그파일 없이 복구 (0) | 2020.04.02 |