2016-10-06 3 views
1

우리는 Spring Boot Microservices를 사용하여 응용 프로그램을 만들었습니다. 응용 프로그램은 JSP 페이지와 나머지 URI를 포함합니다.스프링 부트 마이크로 서비스 : 동적 역할, 권한 기반 보안

이러한 유형의 아키텍처의 경우 페이지 및 URI를 보호하기위한 제안이 필요합니다. 권한 및 권한 기반 액세스를 원합니다. 여기에는 권한이있는 모든 페이지와 URI가 나열되어 있으며 role_permission_mapping에는 uri/pages가 역할에 매핑되어 있습니다.

관리자는 일부 UI를 사용하여 역할, 권한 및 매핑을 동적으로 추가 할 수있는 권한이 있습니다.

아래 이미지는 샘플 테이블 구조를 보여줍니다.

이 유형의 요구 사항에 대한 기본 제공 기능을 제공하는 기본 제공 메커니즘이 있다면 제안 해주십시오.

enter image description here

답변

0

는이를 위해 봄 보안에 차단 - URL의 개념을 사용할 수 있습니다.

  1. 자바 기반의 구성 - 시간 TTP가 :
  2. XML 기반 구성을 //docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#authorize-requests - 시간 TTP를 ://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#ns-minimal h ttp : //docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/# nsa-intercept-url

위의 경우 차단할 URL은 "사용 권한"입니다. 그리고 특정 경우에, 봄 보안에서 가로 채기 URL을 동적으로 구성하여 데이터베이스에서 권한을 읽는 것이 좋습니다. 사용자 정의 FilterInvocationSecurityMetadataSource을 구현하여 다음과 같은 결과를 얻을 수 있습니다. -

  1. how can I manage spring security url pattern in java class instead of xml config
  2. How to dynamically decide <intercept-url> access attribute value in Spring Security?

P.S : 봄 문서의 잘못된 링크 죄송합니다. StackOverflow를 사용하면 여기에 새 기여자로 2 개 이상의 링크를 게시 할 수 없습니다.

+0

데이터베이스의 역할에 대해 hasRole ("SOME STATIC ROLE")의 유효성을 검사하는 방법. –

+0

모든 것을 가로 채기 위해 javax.servlet.Filter를 선호합니다. –