2010-04-05 122 views
0

在我的J2EE 5應用程序中,我有一個基於JDBC Realm的安全性與Form方法。加密方法默認爲MD5。 數據庫是本地安裝的PostgreSQL 8.4(或通過局域網可以使用8.3)。JDBC領域:GlassFish v2.1 =確定; GlassFish v3 = failuseruserreason

我的應用程序曾經使用PostgreSQL 8.3在GlassFish v2.1服務器上正常工作,但現在我需要將它部署在GlassFish v3上。 我絕對相信我已經完成了像創建連接池(這沒有問題),JDBC資源和JDBC域的GFv3上的所有相同的配置。

但是在GFv3上,當數據庫模式剛剛從工作數據庫腳本創建時,我得到了「invaliduserreason」的登錄異常。 我檢查了數據並輸入了登錄名/密碼一千次,看起來數據沒有問題。

那麼我在哪裏可以找到失效安全的原因?請指教。

NetBeans 6.8 謝謝。

回答

0

嘗試添加數據庫名稱,以在連接池的屬性Url ..這裏隱藏SQLException中指出,不指定數據庫名..爲我工作

1

我有同樣的問題在這裏。 我解決了將安全日誌設置爲最佳狀態。 我看到jaas正在用小寫查詢數據庫,即使我在使用postgresql表命名我的字段時使用了駱駝表示法。

我發現的唯一解決方案就是在Postgresql服務器中以小寫字母命名我的所有表和字段。

1

您可能想要增加安全系統的日誌記錄。轉到記錄器設置 - >記錄警告並設置記錄器名稱'javax.enterprise.system.core.security'來跟蹤。再試一次並檢查日誌。

1

嘗試更改數據庫表名大寫。我有和你一樣的問題,並將表名改爲大寫解決了我的問題。

1

設置摘要算法爲「無」爲我工作。我正在使用Glassfish 3.1和Derby。在realm config中,我使用小寫的表名,而userid和groupid是同一個表中的列,所以這些東西不會在Derby上造成問題。