1. 보안을 위해 스프링 시큐리티에서 csrf를 사용하는 경우 별도의 url matcher가 필요하다.
이니시스 폼 전송 할 때 csrf 값을 지정해줄 수 없기 때문.
따라서 결제 관련 url에는 csrf가 적용되지 않도록 해야 한다.
xml 설정을 쓸 경우 어렵지 않게 matcher 빈을 등록할 수 있다.
다음은 그 예다. 기본 matcher(get 등에 대해 적용 안하는 것)에 특정 url에는 필터링 하지 않도록 하는 matcher를 추가하는 것이다.
스프링 scrf에데가도 다음 빈을 matcher로 쓰겠다고 알려주면 된다.
자세한 내용은 레퍼런스를 참고해보시길.
<bean id="csrfMatcher"
class="org.springframework.security.web.util.matcher.AndRequestMatcher">
<constructor-arg>
<list>
<bean class="org.springframework.security.web.csrf.CsrfFilter.DefaultRequiresCsrfMatcher"/>
<bean id="aa" class="org.springframework.security.web.util.matcher.NegatedRequestMatcher">
<constructor-arg>
<bean class="org.springframework.security.web.util.matcher.AntPathRequestMatcher">
<constructor-arg value="/customer/money/**"/>
</bean>
</constructor-arg>
</bean>
</list>
</constructor-arg>
</bean>
2. 헤더 옵션을 추가해줘야 한다.
사용자가 결제를 누르고 결제창을 띄웠다가 닫을 때, 이니시스는 js를 호출하는데 저걸 안해주면 결제창이 제대로 안된다.
결제창이 iframe이라 뭔가 다른 경로에서 호출하면 문제가 있는 듯 하다.
다음처럼 간단히 이것만 추가해주면 된다.
<sec:headers>
<sec:frame-options policy="SAMEORIGIN" />
</sec:headers>
자세한 내용은 레퍼런스를 참고해 보시길.
'코딩 > Spring' 카테고리의 다른 글
Spring Properties를 동적으로 불러오는 방법(PropertiesConfiguration) (0) | 2015.12.07 |
---|---|
EhCache 안에 Key 모두 확인하는 법 (0) | 2015.12.07 |
Spring Ehcache 쓸 때 유의할 점 (0) | 2015.10.09 |
이클립스에서 롬복 lombok 쓰는 법 (0) | 2015.09.06 |
spring error-page location "http://java.sun.com/xml/ns/javaee":exception-type}' is expected. (0) | 2015.08.31 |