봄에 @EnableWebSecurity를 사용하는 이유는 무엇입니까?
Spring 문서에 따르면
은 하다 하다에 붙여주세요.
@Configurationsecurity 의 스프링에 하기 위한WebSecurityConfigurer더 해서 더 많이 확장됩니다.WebSecurityConfigurerAdapter「 」 「 」 、 「 」 、 「 」
이 or or or or@EnableWebSecurity스프링 시큐리티
건달지 @EnableWebSecurity과 패스워드를 behavior
저도 같은 .@EnableWebSecurity그리고 없이@EnableWebSecurity.
누가 이 주석이 정확히 무엇에 대한 것인지 설명해 줄 수 있나요?
@EnableWebSecurity는 마커 주석입니다.을 수 있게 @Configuration@Component가 글로벌클래스에 자동으로 WebSecurity.
, 반의 어느 쪽에도 은 반, 반, 반, 반, 반의 어느 쪽에도 주석을 달지 않습니다.
@EnableWebSecurity및 를 입니다.
네, 이것이 기본 동작입니다.클래스 경로를 살펴보면 해당 주석이 표시된 다른 클래스를 찾을 수 있습니다(의존관계에 따라 다름).
SpringBootWebSecurityConfiguration;FallbackWebSecurityAutoConfiguration;WebMvcSecurityConfiguration.
이러한 설정을 주의 깊게 검토하거나 필요한 설정을 끄거나 동작을 덮어씁니다.
Spring Boot Reference Guide에 자세히 설명되어 있습니다.를 사용하여 검색하면@EnableWebSecurity:
웹 응용 , 「」를 가지는 합니다.
@EnableWebSecurity(인증 매니저의 설정이나 액튜에이터의 시큐러티는 무효가 되지 않습니다). , , 외부 합니다.WebSecurityConfigurerAdapter(예: 폼 기반 로그인을 추가합니다)....
@EnableWebSecurity, 액튜에이터의 시큐러티를 로 하면, 의 액튜에이터를 하지 않는 한, 전체의 폼 로그인을 할 수 .WebSecurityConfigurerAdapter....
「」를하는
@Configuration@EnableWebSecurity응용 프로그램 내 어디에서나 Spring Boot의 기본 웹 앱 보안 설정이 꺼집니다(Actuator의 보안은 활성화되어 있습니다).하려면 , 「」의 을 설정해 .security.*).SecurityProperties사용 가능한 설정에 대한 자세한 내용을 보려면) 및 공통 응용 프로그램 속성의 SECURITY 섹션을 참조하십시오.
기본 웹 애플리케이션 보안 구성을 끄고 사용자 설정을 추가하는 것이 목적이라고 합니다.
답은 Spring Boot 사용 여부에 따라 달라집니다.
스프링 부트 없이 스프링 및 스프링 보안을 사용하는 경우 @EnableWebSecurity는 원래 질문에서 설명한 바와 같이 웹 애플리케이션의 기본 보안을 활성화하기 위해 여러 콩, 필터 체인 등을 자동으로 정의 및 구성합니다.
Spring Boot 를 사용하고 있는 경우는, 자동 설정 클래스(https://github.com/spring-projects/spring-boot/tree/main/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security) 를 참조해 주세요.시큐러티 콩은 자동적으로 설정됩니다.@EnableWebSecurity는 필요 없습니다.실제로 Boot에서는 일반적으로 Spring의 @Enable* 주석이 필요하지 않습니다.
...Spring Boot의 자동 구성 클래스가 보안을 설정하는 방식이 마음에 들지 않는 한.@EnableWebSecurity는 Spring Security의 설정을 우선하여 Spring Boot 자동 설정을 백오프시킵니다.(이는 기존 Spring Security 애플리케이션을 Spring Boot로 변환하여 변경을 최소화하는 경우에 바람직할 수 있습니다.)
Spring Boot의 자동설정 디폴트 동작과 @Enable Web Security 디폴트 동작은 매우 비슷합니다.따라서 주석을 제거할 때 차이가 없습니다.
@EnableWebSecurity는 스프링 보안 Java 설정에 사용됩니다.이 주석 추가:@configuration보안 Java 클래스뿐만 아니라WebSecurityConfigurerAdapter.
덮어쓰기configure(WebSecurity web)&configure(HttpSecurity http)이는 다음과 같은 xml 기반 구성을 대체하는 것입니다.<http>그리고.<form login>이렇게 하면 특정 URL에서 들어오는 요청 URL을 제한할 수 있습니다.또한 폼 기반 로그인도 가능합니다.
언급URL : https://stackoverflow.com/questions/44671457/what-is-the-use-of-enablewebsecurity-in-spring
'programing' 카테고리의 다른 글
| Angular UI-Router: 부모 뷰를 사용하는 자식 (0) | 2023.03.05 |
|---|---|
| 매핑할 객체 배열 없이 React.js에서 요소를 루프하고 렌더링하려면 어떻게 해야 합니까? (0) | 2023.03.05 |
| WordPress - 플러그인 클래스에 정의된 제거 작업 (0) | 2023.03.05 |
| MUI에서 활성 탭 색상을 변경하는 방법 (0) | 2023.03.05 |
| 자체 참조 테이블(Oracle)에 대한 SQL 재귀 쿼리 (0) | 2023.03.05 |