스프링 보안이 적용된 웹 응용 프로그램이 있고 기본적으로 모든 페이지에 권한이 필요합니다. 내 시나리오에서 관리자는 어떤 시점에서 일부 페이지의 보안을 비활성화하거나 완전히 비활성화 할 수 있습니다. 이것이 어떻게 최고가 될 수 있습니까? FilterChainProxy
수정에 대해 생각하고 있었지만 정확하게 (getFilterChains()
이 수정 불가능한 목록을 반환하는) 방법이 명확하지 않습니다.프로그래밍 방식으로 스프링 보안 비활성화
답변
서브 클래스 DelgatingFilterProxy
에서 살펴보고 대리자를 호출 여부를 플래그를 확인합니다.
springSecurityFilterChain
(이름 공간 구성을 사용한다고 가정)에 사용되는 DelegatingFilterProxy
대신 web.xml에서 사용하십시오. 예를 들면 : 당신의 DelegatingFilterProxy에서
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>com.foo.spring.MyDelegatingFilterProxy</filter-class>
</filter>
은 위임 또는하지 말아야하는지 (예를 들어, 시스템 속성) 플래그를 확인합니다.
class MyDelegatingFilterProxy extends DelegatingFilterProxy {
override def doFilter(request: ServletRequest, response: ServletResponse, chain: FilterChain) {
if (System.getProperty("skipSpringSecurity" != null) {
// Ignore the DelegatingProxyFilter delegate
chain.doFilter(request, response)
} else {
// Call the delegate
super.doFilter(request, response, chain)
}
}
}
당신은 (등 정적 파일) <security:intercept-url pattern="/**" access="ROLE_USER" />
같은 담요 와일드 카드를 사용하고/아래 경로의 일부 세트의 봄 보안 필터를 호출 건너 뛸 같은 기술을 사용할 수 있습니다.
고마워,이게 내가 찾고 있던 것이고 위대한 작품이다! – kpentchev
스프링 보안은 어떻게 구성됩니까? 조건을 확인하는 사용자 정의 permissionEvaluator를 추가하도록 선택할 수 있습니까?
는 spring-security writing a custom PermissionEvaluator - how to inject a DAO service?나는 일부 특정 유권자와의 AuthenticationProvider을 가지고 있지만, 그렇지 않은 경우는 기본 웹 응용 프로그램의 설정'<보안 사용 : HTTP 자동 구성 \t \t 인증 관리자-REF = "AuthenticationManager에"= '진정한' \t \t 액세스 의사 결정 관리자 -ref = "repositoryAccessDecisionManager" \t \t accessdenied 페이지 => "/ accessdenied" \t \t \t \t <보안 : 차단 - URL 패턴 = "/ **"액세스 = "ROLE_USER"/> \t \t < 보안 : http-basic /> \t security : ht tp>' – kpentchev
- 1. 스프링 보안 : 프로그래밍 방식으로 로그인
- 2. 스프링 보안 동시 세션 설정 프로그래밍 방식으로
- 3. iOS에서 프로그래밍 방식으로 카메라 잠금/비활성화
- 4. 프로그래밍 방식으로 스프링 빈에 보안을 추가하는 방법
- 5. 스프링 보안 2의 프로그래밍 방식 로그인
- 6. 스프링 보안 : ProviderManager autowire
- 7. 프로그래밍 방식으로 CE 창 애니메이션을 비활성화 하시겠습니까?
- 8. 프로그래밍 방식으로 시장 자동 업데이트 활성화/비활성화
- 9. 어떻게 프로그래밍 방식으로 안드로이드에서 카메라 기능을 비활성화
- 10. 스프링 보안 2.0에서 스프링 보안 3.0.7로 마이그레이션
- 11. 스프링 배치 작업을 프로그래밍 방식으로 실행 하시겠습니까?
- 12. 스프링 보안 권한
- 13. 플래시 AS3 전역 보안 설정 - 프로그래밍 방식으로
- 14. 프로그래밍 방식으로 끝점 머리글 보안 WCF 추가
- 15. REST에서의 보안, 사용자를 그룹에 프로그래밍 방식으로 추가하기
- 16. 프로그래밍 방식으로 로컬 보안 정책 변경
- 17. WSO2 Carbon - 프로그래밍 방식으로 보안 적용
- 18. 스프링 보안에서 URL에 대한 인증을 프로그래밍 방식으로 테스트하려면 어떻게해야합니까?
- 19. 스프링 - 보안을 프로그래밍 방식으로 구성 할 수 있습니까?
- 20. Username 패스워드 보안 스프링 보안
- 21. 비활성화 파이어 폭스 보안
- 22. 스프링 보안 웹 서비스의 스프링 보안 필터 및 인증
- 23. 스프링 보안 액세스하기 스프링 보안 외부에서 스레드 로컬 사용자 정보
- 24. 스프링 보안 3/스프링 MVC와 겁나는 @ 보안/요청 매핑
- 25. 스프링 보안 사용자
- 26. 쿠키없이 스프링 보안 사용하기
- 27. X509를 사용한 스프링 보안?
- 28. 스프링 보안 그룹과 acl
- 29. 스프링 보안 - 이상한 오류
- 30. Ajax와 스프링 보안 통합
시작하려면 로그인 페이지 (일반적으로 그렇지 않은)를 포함하여 * 모든 것 *이 보호 된 것처럼 보이기 때문에 구성이 비정상적으로 보입니다. 관리자가 페이지의 보안을 비활성화 할 수있는 시나리오에 대해 자세히 설명해 주시겠습니까? 동시에 드물고 재미있는 것 같습니다. –
http-basic을 사용하므로 기본 브라우저 인증 대화 상자가 사용됩니다. 응용 프로그램은 db 검색/탐색/서버의 일종이며 모든 것이 기본적으로 보호되어 있으므로 관리자가 노출을 필요로하거나 결정할 수 있습니다 (예 : 응용 프로그램과 통신해야하지만 인증을 지원하지 않는 타사 응용 프로그램 때문에) . – kpentchev