2010-01-26 3 views
4

Spring과 JPA/Hibernate로 작성된 응용 프로그램이 잘 작동하지만 Oracle Label Security를 ​​추가해야합니다. 이렇게하려면 실제 사용자 외에 특정 역할이 할당 된 프록시 사용자를 만들어야합니다. 나는 persistence.xml에 무엇이 들어가는 지 명확하지 않으며 코드에는 무엇이 들어가는지 명확하지 않습니다. 또한, 우리가 정말 멋지게되기를 원한다면, 나는 Spring이 사용자와 프록시 사용자의 맵핑을 통해 적절한 영속 컨텍스트를 삽입 할 수있는 방법을 알고 싶다.Oracle Label Security가있는 JPA/Hibernate

경험이있는 사람이라면 통찰력을 얻을 수 있습니다.

감사합니다.

+0

"Oracle Label Security"는 VPD를 의미합니까? – sprezzatura

+0

이것은 최대 절전 모드에서 지원되지 않을 수 있습니다. 이것이 도움이 될 것이지만이 게시물을 확인하는 것은 아닙니다 http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg03843.html – chrislovecnm

+1

Oracle Label Security는 행을 확장하고 감싸는 엔터프라이즈 라이센스에 대해 추가로 부과 할 수 있습니다 레벨 보안 VPD 솔루션. – APC

답변

0

나는 그것을 다음과 같은 방법으로 접근하는 것 :

먼저 프록시 인증 직선의 기초를 얻을. 이 기사는 유망 해 보입니다 : https://blogs.oracle.com/olaf/entry/using_oracle_proxy_authenticat

Webapplication (또는 단일 진입 점이있는 경우) 요청을 받아들이고 사용자를 식별하고 프록시 인증을 사용하여 데이터베이스에서 사용자를 설정 한 다음 의뢰.

이렇게하면 응용 프로그램은 올바른 사용자와의 올바른 연결 만 볼 수 있습니다. 그래서 당신의 Hibernate 설정은 이것에 의해 영향을받지 않아야한다.

경고 하나 : 연결 풀을 사용하고있는 것 같습니다. 이러한 풀은 Oracle의 JDBC 구현을 전달하지는 않지만 필요한 Oracle 기능에 액세스해야하는 래퍼입니다. 응용 프로그램이 여전히 래퍼를 사용하고 있는지 확인하십시오. 연결 풀이 연결에 의해 throw 된 예외를 알지 못하므로 끊어진 연결을 인식하지 않고 반복해서 넘겨 줘야합니다.

관련 문제