반응형
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
- SpringBoot
- MSsql
- PM2
- yona
- nodejs
- Maven
- git
- node.js
- popup
- security
- jquery
- ajax
- spring
- Java
- config
- mybatis
- Eclipse
- spring3
- submit
- javascript
- docker
- console
- NextJS
- Next.js
- centos7
- MariaDB
- post
- mysql
- rocky9
- jenkins
Archives
- Today
- Total
ふたりで
springboot+security+csrf 설정 및 예외처리 설정. 본문
728x90
반응형
SMALL
spring security에 csrf를 설정하여 사용할 경우 특정 URL 외부 프로그램등에서 POST방식으로
서버에 접근(호출)을 하면 403 에러가 발생한다.
이런 경우 해당하는 특정 URL만 csrf적용을 받지 않도록 예외 처리를 해주어야 한다.
아래 소스코드의 http.csrf(). ignoringAntMatchers("/callBackPush/**")//csrf예외처리 부분이 특정 URL패턴만
예외 처리한 부분이다.
728x90
반응형
SMALL
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers(
"/resource/**",
"/login",
"/join/**",
"/login-error",
"/gateway/**",
"/popup/**",
"/error/**"
).permitAll() /*인증 예외 설정*/
.antMatchers("/user/**").hasRole("USER")
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated() /* 그 외 모든 요청은 인증된 사용자만 접근이 가능하게 처리*/
.and().formLogin()
.loginPage("/login")
.loginProcessingUrl("/loginPro")
.failureHandler(authFailHandler())
.successHandler(successHandler())
.permitAll()
.and().logout()
.logoutUrl("/logout") /*로그아웃 url*/
.logoutSuccessUrl("/login") /*로그아웃 성공시 연결할 url*/
.invalidateHttpSession(true)/*로그아웃시 세션 제거*/
.deleteCookies("JSESSIONID")/*쿠키제거*/
.clearAuthentication(true)/*권한정보 제거*/
.permitAll()
.and().exceptionHandling()
.authenticationEntryPoint(ajaxAwareAuthenticationEntryPoint("/login"))//ajax필터
.accessDeniedPage("/accessdenied");//url
// .and().sessionManagement()
// .maximumSessions(1) /*session 허용 갯수?*/
// .expiredUrl("/login") /* session 만료시 이동 */
// .maxSessionsPreventsLogin(true); /* 중복로그인 허용(true),거부(false)*/
http.csrf().ignoringAntMatchers("/callBackPush/**")//csrf예외처리
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());//csrf 토큰자동생성
// http.csrf().disable();//csrf 미적용
http.headers().frameOptions().disable();
}
728x90
반응형
LIST
'Spring' 카테고리의 다른 글
VO 모델을 json으로 response시 특정 멤버 변수 숨기기 (0) | 2021.10.08 |
---|---|
springboot @Transactional not working... (0) | 2021.07.27 |
springboot+war(deploy error ServletInitializer(listenerStop) contextDestroyed 실패시 해결...) (0) | 2021.03.22 |
springboot2.3.X SchedulerConfig (0) | 2020.12.21 |
SpringBoot+Security ajax Unauthorized request filter (0) | 2020.12.18 |
Comments