- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这可能是非常基本的,但我已经坚持了几个小时了,所以请听我说完。
我正在尝试在 Eclipse 中 Glassfish 4.0 上的 Java 7 Web 应用程序中进行基于 JDBCRealm 的身份验证。此博客post是配置 JDBCRealm 的引用。
web.xml如下
<login-config>
<auth-method>FORM</auth-method>
<realm-name>MyJDBCRealm</realm-name>
<form-login-config>
<form-login-page>/login.html</form-login-page>
<form-error-page>/tologin.html</form-error-page>
</form-login-config>
</login-config>
当我启动 Glassfish 服务器时,控制台中清楚地写着:
SEC1115: Realm [MyJDBCRealm] of classtype [com.sun.enterprise.security.ee.auth.realm.jdbc.JDBCRealm] successfully created.
但是当我请求任何应用程序的资源时,我收到此异常
javax.naming.NamingException: Lookup failed for 'MyJDBCRealm' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: MyJDBCRealm not found]
根本原因:
javax.naming.NameNotFoundException: MyJDBCRealm not found
at com.sun.enterprise.naming.impl.TransientContext.doLookup(TransientContext.java:237)
at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:204)
...
这发生在这里
public DataSource getDataSource() {
DataSource datasource = null;
try {
datasource = (DataSource) initialContext.lookup("MyJDBCRealm");
} catch (NamingException ex) {
ex.printStackTrace();
}
return datasource;
}
我应该注意到,Hibernate 成功连接到后端数据库并映射表,并且在 glassfish 控制台中,我可以成功 ping JDBC 连接池。
最佳答案
我猜你混淆了一些东西。
领域与数据源不同。要获取 Java 领域的实例,您可以执行以下操作:
JDBCRealm realm = (JDBCRealm) Realm.getInstance("realmName");
如果您确实想获取数据源,则必须使用 JNDI 名称,该名称通常以 jdbc/
开头,如下所示:
DataSource datasource = (DataSource) initialContext.lookup("jdbc/MyJDBCRealm");
但无论如何,我认为对于基于 JDBC 的普通身份验证,您不需要这样的东西。
关于java - Glassfish 4 JBDCRealm NameNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19756435/
我从我的 Java EE Web 应用程序中收到此注入(inject)/JNDI 查找错误: type Exception report message descriptionThe server e
安装 ADT r22 后,每次关闭我的应用程序时,我都会在 LogCat 中收到此异常: E/LuckyLauncherView(227): in setViewEveryArea() E/Lucky
我正在运行一个使用 JBoss5 容器的 ejb 示例。我正在使用一个例子 from here(Part one) . 在示例中,我在 JBoss 中部署了 bean,在 Tomcat 中部署了一个应
我从 Crashlytics 收到错误消息,指出某些设备缺少 com.google.android.webview。这怎么可能? java.lang.RuntimeException: Unable
我再次搜索这个问题,我无法使用 java config 找到 jndi 数据库。在此之前,我使用 xml 并且它工作得很好,但在 java 配置中它会导致问题; XML 代码:
出现此异常时我正在使用 spring-ldap: 服务器未知异常:[LDAP: error code 32 - No Such Object]; nested exception is javax.n
我正在开发一个 Java 企业应用程序,该应用程序具有与 EAR 捆绑在一起的 EJB 层和 WEB 层。我面临的问题是,我的 EJB 层中有一些实体,当我尝试在 WEB 层中通过 JNDI 获取它们
我使用 com.sun.jersey.spi.spring.container.servlet.SpringServlet 创建了两个 Jersey servlet 项目。我使用 Jersey 1.1
我正在尝试构建一个通知并显示它,还为我正在显示的 Intent 构建一个堆栈。但是我得到一个 NameNotFoundException。 Intent resultIntent = new Inte
我有这个非常简单的代码(Glassfish 3.1.2): Context ic = new InitialContext(); ConnectionFactory connectionFactory
我想从 jetty 切换到 tomcat。我得到 NameNotFoundException,因为 tomcat 没有找到在 jetty-web.xml 中并在 applicationContext.
我有这个非常简单的代码(Glassfish 3.1.2): Context ic = new InitialContext(); ConnectionFactory connectionFactory
更新:好吧,似乎只有当我尝试在本地调试时才会出现这个问题。在 Jetty(不是同一台机器)上发布时效果很好。本地调试时是否可以配置Run-Jetty-Run使用的jetty.xml文件? 我只是浪费了
我不明白为什么会出现这个异常。 在我的主要 Activity 中,在 onCreate 方法中我首先有这段代码: try { PackageInfo info = this.ge
我有一个 .java 文件: .... import android.content.pm.ApplicationInfo; import android.content.pm.PackageI
我正在将我的 spring jsf 项目从 ANT 迁移到 maven,同时在 jboss 5 服务器中部署时出现以下错误。 错误 [ContextLoader] 上下文初始化失败org.spring
这可能是非常基本的,但我已经坚持了几个小时了,所以请听我说完。 我正在尝试在 Eclipse 中 Glassfish 4.0 上的 Java 7 Web 应用程序中进行基于 JDBCRealm 的身份
我在 netbean 7.3 中用 jboss-7.1.1 Final 创建了一个 Ejb 项目 在 Ejb 模块中我有这些: LibrarySessionBeanRemote.java packag
我遇到一个问题,出现以下错误。项目有关于此服务的 jar 和我的 web.xml 以下 请帮助我。 ejb/KpsSessionFacade Session tr.com.m
我无法将 Weblogic (12c) 定义的 JNDI 数据源映射到本地 jndi 名称。 我在 weblogic mysql 数据源中有一个数据源定义为“mysqltestds”,我想将 Web
我是一名优秀的程序员,十分优秀!