[英]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.