나는 모든 DB 상호 작용 요구를 위해 Hibernate를 사용하는 Spring MVC를 기반으로하는 애플리케이션을 가지고있다. LDAP 인프라를 사용하여 이름과 전자 메일 같은 기본 사용자 데이터뿐만 아니라 인증 및 권한 부여 요구 사항을 포함하여 사용자 정보를 사용하도록 응용 프로그램을 업데이트해야합니다.Spring Security, Spring LDAP 및 Hibernate로 사용자 정보를 처리하는 방법은 무엇입니까?
Hibernate는 필요한 쿼리로 시작할 때 필요에 따라 정보 검색을 관리하기 때문에 모든 것이 한 자리 (DB)에 있으므로 지금까지 보고서는 모두 매우 간단합니다. Hibernate가 느리게 데이터를로드하기 때문에 사용자의 이름을 잡는 것은 매우 간단하다.
LDAP를 사용하여 사용자 정보를 구동하고자하므로 Hibernate는 사용자 정보를 관리하지 않으므로 사용자 정보를 즉시 채울 수 없습니다. Name과 같은 사용자 데이터를 가져와야 할 때 LDAP를 사용하여 사용자 데이터를 구동하고 인증/권한 부여를 처리하려면 어떻게해야합니까?
우리는 LDAP가 데이터의 "원본"으로 취급되고 현재 시스템이 그대로있는 하이브리드 방식을 고려했습니다. 따라서 라이브 트랜잭션이 최신 정보를 사용하고 LDAP에 대해 주기적으로 동기화하여보고 목적으로 응용 프로그램 DB를 최신 상태로 유지하도록 LDAP에 대해 업데이트하기 위해 트랜잭션 처리 코드를 변경해야합니다.
이 솔루션은 약간 해킹 된 것 같아서 움직이는 부분이 많은 것처럼 보입니다.하지만이 주제에 대해서는 웹의 다른 곳에서 찾을 수 없었습니다.
사용자 정보는 어떻게 처리해야합니까? 모든 사용자 정보에 쉽게 액세스 할 수 있고보고 목적으로 나머지 시스템에 쉽게 묶일 수 있도록 앱을 구성하는 방법은 무엇입니까? 데이터 레이어 위의 레이어를 알 필요가 없도록 Spring LDAP와 Hibernate를 통합하는 방법이 있습니까? 아니면 LDAP에서 기존 데이터베이스로 정보를 가져 오는 것이 가장 쉬운 방법일까요?
데이터 모델에 사용자에 대한 참조가있어 사용자 데이터베이스 엔터티가 필요합니까? – Ralph
@Ralph - 예, 다른 엔티티가 특정 사용자와 연결되어 있습니다 (예 : 사용자 X가 작업 Y를 수행함). – cdeszaq