2016-08-23 5 views
1

나는 현재 인증 (ID 및 권한에 대한 책임을 경계 상황)에 대한 책임 마이크로 서비스를 개발하고있다. 우리는 다른 도메인에 연결되어 사용자의 역할에 따라 특정 설정을 가지고 있지만, 토큰 DDD 사용자 도메인 별 설정

에게 등을 예를 들어

role_can_write_booking: true, 
fetch_products_type : "all/forUsersCompanyOnly" 

를 들어 (이 https://developer.zendesk.com/rest_api/docs/core/custom_roles 같은)

를 생성하는 데 사용 이 정보를 ID BC의 일부로 유지해야합니까, 그렇지 않으면 각 도메인이 설정의 일부로 유지되어야합니다. 예 : 예약 경계 컨텍스트 내부 role_can_write_booking : true는 예약 제품 내부 fetch_products_type : "all/forUsersCompanyOnly" 문맥을 경계. ?

+0

그냥 궁금해서 ... 여러 경계 컨텍스트에 걸쳐 역할을 많이 가지고 있습니까? 그러한 역할에 대한 예를들 수 있습니까? 내 경험에 비추어 볼 때 각 하위 도메인의 유비쿼터스 언어는 고유 한 개인/역할 이름을 정의하는 경향이 있습니다. – guillaume31

+0

@ guillaume31 각 제한된 컨텍스트는 회계, 예약, 제품 등의 기능 중 하나를 제공합니다. 예를 들어 우리는 예약을 담당하는 에이전트를 가질 수 있습니다. 일부는 예약 및 제품 등에 대한 액세스 권한을 가질 수 있습니다. 전 세계적으로 말해서 모든 에이전트이지만 유비쿼터스 언어에서는 하나가 BookingAgent이고 하나는 ProductAgent입니다. 그들 중 일부는 읽기 전용이고, 일부는 편집 할 수 있습니다. – Robert

+0

예를 들어보다 정확한 역할 이름을 부여 할 수 없습니다. [Booking + Products]는 나에게 냄새가 난다. 역할이 정말로 BC 당 있다면? 그럼 다시, 나는 당신의 영역에 있지 않습니다. – guillaume31

답변

3

이 달려있다. 트레이드 오프가 있습니다. 모든 정보를 ID 컨텍스트에 저장하면 모든 다른 컨텍스트에 대한 지식이 있어야하며 모든 컨텍스트에서 일부 사용 권한이나 액세스 규칙이 변경 될 때마다 변경해야합니다. 각 컨텍스트가 자체 권한 규칙을 관리하는 경우에는 자신에 대해서만 알면됩니다.

은 또한 일을 관리하는 방법을 고려해야합니다. 역할과 권한을 중앙에서 관리하는 개념이 있습니까?

'는 물론 또는 세분화 된 역할을해야 방법에 따라 달라집니다 얼마나 복잡한 도메인이

당신은 매우 물론 세분화 된 역할이있는 경우

(신원/역할/권한 등의 측면에서 즉이다 관리자 ','사용자 ') 그러면 사용자 컨텍스트와 역할을 관리하는 ID 컨텍스트가있는 선을 따라 뭔가를 할 수는 있지만 각 컨텍스트에 사물의 사용 권한을 남겨 둡니다. 여기에 X와 Y 역할을 가진 인증 된 사용자가 있습니다. 그러면 각 개별 컨텍스트가 허용하는 바가 결정됩니다.

관련 문제