SpringBoot 안전
기본 AuthenticationManager 는 한 명의 단독 사용자 만 있 습 니 다. (사용자 이름 은 'user' 이 고 비밀 번 호 는 무 작위 암호 입 니 다. 시작 할 때 INFO 단계 에서 출력 됩 니 다)
Using default security password: 474dcc50-1a68-400e-af74-0b9494e312fa
로그 설정 을 조정 하면 org. spring from work. boot. autoconfigure. security 클래스 가 INFO 메 시 지 를 기록 하 는 것 으로 설정 되 어 있 지 않 으 면 기본 암 호 는 인쇄 되 지 않 습 니 다.
보안. user. password 를 제공 하여 비밀 번 호 를 변경 할 수 있 습 니 다. 이것 과 다른 유용 한 속성 은 보안 Properties ("security" 를 접두사 로 하 는 속성) 를 통 해 외부 화 되 었 습 니 다 (외부 화 된 파일 은 application. properties 나 application. yml 에 있 습 니 다).
기본 보안 설정 은 Security AutoConfiguration 과 가 져 온 클래스 에서 이 루어 집 니 다 (SpringBoot WebSecurity Configuration 은 웹 보안 에 사용 되 며 AuthenticationManager Configuration 은 웹 응용 이 아 닌 인증 설정 에 사용 할 수 있 습 니 다).@ EnableWebSecurity 주 해 를 사용 하 는 bean 을 추가 할 수 있 습 니 다. 웹 프로그램의 기본 보안 설정 을 완전히 닫 을 수 있 습 니 다. (인증 관리자 설정 이나 Actuato 의 보안 을 사용 하지 않 습 니 다.)외부 속성 설정 과 WebSecurity ConfigurerAdapter 형식의 beans 를 사용 하여 정의 해 야 합 니 다 (예 를 들 어 폼 기반 로그 인 추가).인증 관리자 설정 도 닫 습 니 다. AuthenticationManager 형식의 bean 을 추가 할 수 있 습 니 다. 그렇지 않 으 면 @ Configuration 류 의 한 방법 에서 AuthenticationManager Builder 를 자동 으로 설치 하여 전역 AuthenticationManager 를 설정 할 수 있 습 니 다.스프링 부츠 예시 입 니 다.
웹 응용 프로그램 에서 당신 이 얻 을 수 있 는 상 자 를 열 때 사용 할 수 있 는 기본 적 인 특성 은 다음 과 같 습 니 다.
상기 모든 기능 은 외부 속성 설정 (security. *) 을 통 해 열 거나 닫 거나 수정 할 수 있 습 니 다.다른 자동 설정 의 특성 을 바 꾸 지 않 고 접근 규칙 을 덮어 쓰 려 면 @ Order (Security Properties. ACCESS OVERRIDE ORDER) 가 설명 한 WebSecurity Configurer Adapter 형식의 @ Bean 을 추가 할 수 있 습 니 다.
WebSecurity ConfigurerAdapter 는 기본적으로 모든 경로 와 일치 합 니 다. Spring Boot 가 자동 으로 설정 한 접근 규칙 을 완전히 덮어 쓰 지 않 으 려 면 덮어 쓰 고 싶 은 경 로 를 명확 하 게 설정 할 수 있 습 니 다.
외부 속성 설정 보안 프로 퍼티
security.basic.authorize-mode=role # Security authorize mode to apply.
security.basic.enabled=true # Enable basic authentication. basic
security.basic.path=/** # Comma-separated list of paths to secure.
security.basic.realm=Spring # HTTP basic realm name.HTTP
security.enable-csrf=false # Enable Cross Site Request Forgery support.
security.filter-order=0 # Security filter chain order.
security.filter-dispatcher-types=ASYNC, FORWARD, INCLUDE, REQUEST # Security filter chain dispatcher types.
security.headers.cache=true # Enable cache control HTTP headers. HTTP
security.headers.content-security-policy= # Value for content security policy header.
security.headers.content-security-policy-mode=default # Content security policy mode.
security.headers.content-type=true # Enable "X-Content-Type-Options" header. "X-Content-Type-Options"
security.headers.frame=true # Enable "X-Frame-Options" header. "X-Frame-Options" 。
security.headers.hsts=all # HTTP Strict Transport Security (HSTS) mode (none, domain, all).HTTP (HSTS) (none, domain, all)
security.headers.xss=true # Enable cross site scripting (XSS) protection. (XSS)
security.ignored= # Comma-separated list of paths to exclude from the default secured paths.
security.require-ssl=false # Enable secure channel for all requests.
security.sessions=stateless # Session creation policy (always, never, if_required, stateless).Session (always, never, if_required, stateless)
security.user.name=user # Default user name.
security.user.password= # Password for the default user name. A random password is logged on startup by default. , 。
security.user.role=USER # Granted roles for the default user name.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.