簡體   English   中英

JDBC領域:GlassFish v2.1 = OK; GlassFish v3 =因無效的用戶原因而失敗

[英]JDBC Realm: GlassFish v2.1 = OK; GlassFish v3 = fail with invaliduserreason

在我的J2EE 5應用程序中,我具有使用Form方法的基於JDBC Realm的安全性。 加密方法默認為MD5。 該數據庫是本地安裝的PostgreSQL 8.4(或可通過lan獲得的8.3)。

我的應用程序過去可以在帶有PostgreSQL 8.3的GlassFish v2.1服務器上正常運行,但是現在我需要將其部署在GlassFish v3上。 我絕對確定我已經在GFv3上完成了所有相同的配置,例如創建連接池(可以ping正常),JDBC資源和JDBC領域。

但是在GFv3上,我只是從工作數據庫腳本中創建了數據庫模式,卻出現了“ invaliduserreason”登錄異常。 我已經檢查了數據並輸入登錄名/密碼一千次,看來數據還可以。

那么在哪里可以找到導致安全性不正常的原因呢? 請指教。

NetBeans 6.8謝謝。

我在這里有同樣的問題。 我決定將安全日志設置為最佳。 我看到jaas正在用小寫查詢數據庫,即使我在名稱postgresql表中的字段時使用了駱駝符號。

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

您可能要增加安全系統的日志記錄。 轉到記錄器設置->記錄警告,並將記錄器名稱'javax.enterprise.system.core.security'設置為要跟蹤。 重試並檢查日志。

嘗試將數據庫表名更改為大寫。 我遇到了與您完全相同的問題,將表名更改為大寫對我來說解決了這個問題。

將摘要算法設置為“無”對我有用。 我在使用Derby的Glassfish 3.1。 在領域配置中,我使用小寫形式的表名,而userid和groupid是同一表中的列,因此這些事情不會在Derby上引起問題。

嘗試將數據庫名稱添加到連接池中的屬性Url中。此處隱藏的sqlexception表示未指定數據庫名稱。

這是一篇關於glassfish中的jdbc安全領域及其配置方法的不錯的文章: http : //jugojava.blogspot.com/2011/02/jdbc-security-realm-with-glassfish-and.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM