[SPRING] 스프링 보안 : 신뢰할 수있는 서브넷을 제외한 모든 요청을 인증합니다.
SPRING스프링 보안 : 신뢰할 수있는 서브넷을 제외한 모든 요청을 인증합니다.
내 config 클래스에이 줄이 있습니다.
http.authorizeRequests()
.anyRequest().authenticated();
이제 신뢰할 수있는 서브넷의 모든 요청이 승인없이 Spring Security를 우회하기를 바랍니다.
따라서 구성을 수정했습니다.
http.authorizeRequests()
.antMatchers("/**").hasIpAddress(127.0.0.1/24)
.anyRequest().authenticated();
이제 사설 서브넷 내부의 컴퓨터 간 통신이 올바르게 작동합니다. 유감스럽게도 웹 브라우저의 승인 된 클라이언트는 매번 401 오류가 발생합니다.
OR 조건을 작성하는 방법이 있습니까?
이와 같이 클라이언트는 ip #. #. #. # OR이 승인되어야합니다.
해결법
-
==============================
1.hasIpAddress와 authenticated 또는 hasRole과 같은 메소드는 간단한 액세스 규칙을 위해 존재합니다. 그 아래에서는 모두 표현식을 추가하기 위해 액세스 메소드를 호출합니다. 이것을 사용하여보다 복잡한 보안 표현식을 작성할 수도 있습니다.
hasIpAddress와 authenticated 또는 hasRole과 같은 메소드는 간단한 액세스 규칙을 위해 존재합니다. 그 아래에서는 모두 표현식을 추가하기 위해 액세스 메소드를 호출합니다. 이것을 사용하여보다 복잡한 보안 표현식을 작성할 수도 있습니다.
http.authorizeRequests() .anyRequest().access("hasIpAddress('127.0.0.1/24') or isAuthenticated()");
Spring Security 레퍼런스 가이드에 이에 대한 작은 언급이있다.
from https://stackoverflow.com/questions/35890632/spring-security-authorize-all-request-except-coming-from-trusted-subnet by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 원인 : java.sql.SQLIntegrityConstraintViolationException : 키 'PRIMARY'에 대해 중복 항목 '10'- 스프링 배치 (0) | 2019.05.05 |
---|---|
[SPRING] 커스텀 userdetailsservice를위한 bean 정의하기 (0) | 2019.05.05 |
[SPRING] java.lang.NoClassDefFoundError : com / google / gson / gson (0) | 2019.05.05 |
[SPRING] Spring-Batch에서 ItemReader로 라인을 건너 뛰는 방법? (0) | 2019.05.05 |
[SPRING] Spring Data로 특정 항목을 볼 때만 특정 필드를 노출합니까? (0) | 2019.05.05 |