繁体   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