2010-01-26 70 views
4

我有一個使用Spring和JPA/Hibernate構建的應用程序工作得很好,但我現在需要添加Oracle Label Security。這將需要創建一個代理用戶,除了實際的用戶以外,還分配了某些角色。我不清楚進入persistence.xml的內容以及代碼中的內容。另外,如果我們想要真正喜歡,我很想知道Spring如何通過將用戶映射到代理用戶來注入適當的持久化上下文。JPA /休眠與Oracle標籤安全

如果有人有這方面的經驗,任何洞察力是讚賞。

謝謝。

+0

「Oracle標籤安全性」是否意味着VPD? – sprezzatura 2011-07-16 13:52:00

+0

這可能不被hibernate支持。不是certian,這將幫助,但看看這篇文章http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg03843.html – chrislovecnm 2011-08-20 23:37:25

+1

Oracle標籤安全是一個額外的企業許可證,其擴展和包裝其行級別安全VPD解決方案。 – APC 2011-09-18 09:26:52

回答

0

我想接近它的方式如下:

首先獲得代理認證直的基本知識。本文看起來很有希望:https://blogs.oracle.com/olaf/entry/using_oracle_proxy_authenticat

假設您有Web應用程序(或其他具有單一入口點的任何其他應用程序),請創建一個過濾器來接受請求,標識用戶,使用代理身份驗證在數據庫中建立用戶,然後轉發請求。

這樣,您的應用程序將只能看到與建立的正確用戶的正確連接。所以你的Hibernate配置不應該受到這個影響。

一個警告:您可能正在使用連接池。這些池可能不會提供Oracle的Oracle JDBC實現,而是一個包裝器,通過它可以訪問所需的Oracle特定功能。確保您的應用程序仍然使用包裝器,否則連接池將不會注意到連接拋出的任何異常,從而無法識別斷開的連接並將它們反覆傳遞出去。