glassfish 相关问题

GlassFish是参考Java EE应用程序服务器。

共享 JDBC 池是如何配置的?

我们使用 Payara 5 服务器和 4 个应用程序实例。 JDBC 池配置为 5,设置为池中的最大连接数。指向 JDBC 连接点的 JDBC 资源...

回答 1 投票 0

Glassfish7 软件门户的 SSO

**web.xml(登录.war)** ... 登录 **web.xml(登录.war)** <?xml version="1.0" encoding="UTF-8"?> ... <display-name>Login</display-name> <welcome-file-list> <welcome-file>login.xhtml</welcome-file> </welcome-file-list> <login-config> <auth-method>FORM</auth-method> <realm-name>jdbcRealm</realm-name> <form-login-config> <form-login-page>/login.xhtml</form-login-page> <form-error-page>/login-error.xhtml</form-error-page> </form-login-config> </login-config> <security-role> <role-name>USER</role-name> </security-role> <security-role> <role-name>ADMIN</role-name> </security-role> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> <cookie-config> <name>JSESSIONID</name> <path>/</path> <http-only>true</http-only> <secure>false</secure> verwenden --> </cookie-config> </session-config> <context-param> <param-name>org.primefaces.extensions.DELIVER_UNCOMPRESSED_RESOURCES</param-name> <param-value>false</param-value> </context-param> <context-param> <param-name>primefaces.THEME</param-name> <param-value>nova-light</param-value> </context-param> </web-app> **web.xml(开始.war)** <?xml version="1.0" encoding="UTF-8"?> ... <display-name>Startleiste</display-name> <welcome-file-list> <welcome-file>index.xhtml</welcome-file> </welcome-file-list> <login-config> <auth-method>FORM</auth-method> <realm-name>jdbcRealm</realm-name> <form-login-config> <form-login-page>/login/login.xhtml</form-login-page> <form-error-page>/login/login-error.xhtml</form-error-page> </form-login-config> </login-config> <security-constraint> <web-resource-collection> <web-resource-name>Protected Area</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>ADMIN</role-name> <role-name>USER</role-name> </auth-constraint> </security-constraint> <security-role> <role-name>USER</role-name> </security-role> <security-role> <role-name>ADMIN</role-name> </security-role> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> <!-- Timeout in Minuten --> <cookie-config> <name>JSESSIONID</name> <path>/</path> <http-only>true</http-only> <secure>false</secure> <!-- Ändern Sie dies zu true, wenn Sie HTTPS verwenden --> </cookie-config> </session-config> <context-param> <param-name>org.primefaces.extensions.DELIVER_UNCOMPRESSED_RESOURCES</param-name> <param-value>false</param-value> </context-param> <context-param> <param-name>primefaces.THEME</param-name> <param-value>nova-light</param-value> </context-param> </web-app> LoginController.java(Login.war) package login.web; import java.io.IOException; import java.io.Serializable; import jakarta.enterprise.context.RequestScoped; import jakarta.faces.application.FacesMessage; import jakarta.faces.context.FacesContext; import jakarta.inject.Inject; import jakarta.inject.Named; import login.util.LoginService; import login.util.entities.User; @RequestScoped @Named public class LoginController implements Serializable { private static final long serialVersionUID = -5346634778960677989L; private static final String URL = "myServerURL:8080"; @Inject private LoginService loginService; private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public void login() { FacesContext context = FacesContext.getCurrentInstance(); User user = loginService.findUserByUsername(username); if (user != null && user.getPassword().equals(SHA256Util.hashPassword(password))) { context.getExternalContext().getSessionMap().put("user", user); try { System.out.println("Login successful, redirecting to start page."); context.getExternalContext().redirect(URL + "/Start"); } catch (IOException e) { System.out.println("Redirect failed: " + e.getMessage()); e.printStackTrace(); } } else { System.out.println("Invalid username or password."); context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Invalid username or password", null)); } } public void logout() { FacesContext.getCurrentInstance().getExternalContext().invalidateSession(); try { FacesContext.getCurrentInstance().getExternalContext().redirect("login.xhtml"); } catch (IOException e) { System.out.println("Logout redirect failed: " + e.getMessage()); e.printStackTrace(); } } } RedirektBean.java(Start.war) package startleiste.glassfish; import java.io.IOException; import java.security.Principal; import jakarta.enterprise.context.RequestScoped; import jakarta.faces.context.ExternalContext; import jakarta.faces.context.FacesContext; import jakarta.inject.Named; @Named @RequestScoped public class LoginRedirectBean { public void redirectToLogin() { ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); try { Principal userPrincipal = externalContext.getUserPrincipal(); if (userPrincipal == null) { System.out.println("User ist nicht authentifiziert, Umleitung zur Login-Seite"); externalContext.redirect("myServerURL/Login"); } } catch (IOException e) { e.printStackTrace(); } } } 大家好。我在为 Glassfish7 应用程序服务器配置 SSO 时遇到了很大的问题。我想开发一个软件门户,使用 JSF、primefaces 和 Glassfish7 作为应用程序服务器。 计划是配置一个中央登录页面 - >登录后用户进入导航页面。如果您之前没有登录就访问导航页面,应用程序会将您重定向到登录页面。 我在不同的战争中都这样做过 登录.war 开始战争 如果我成功登录 - 应用程序立即将我重定向到 Login.war 这是为什么? 您确定您的登录应用程序使用领域来验证用户身份吗?我在登录方法中只看到context.getExternalContext().getSessionMap().put("user", user);。您的代码根本不使用jdbcRealm,您直接进入数据库。 GlassFish 无法知道用户是否经过身份验证,因此无法将信息传递给另一个应用程序进行 SSO。不幸的是,互联网上的大多数示例似乎都显示了与您的代码类似的内容,但这仅适用于单个应用程序,并且仅当您有一个自定义 servlet 过滤器(如果未经身份验证则阻止访问安全页面)时才有效。换句话说,整个安全机制完全是自定义的,不依赖服务器,服务器也不知道。 这里有一个教程,介绍如何执行您想要的操作,以便您的应用程序使用 JDBC 领域进行身份验证:https://docs.oracle.com/javaee/6/tutorial/doc/glxce.html 您应该在您的login()方法中调用以下内容: FacesContext context = FacesContext.getCurrentInstance(); HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest(); try { request.login(username, password); // Redirect to the home page or a secured page return "welcome?faces-redirect=true"; } catch (ServletException e) { // Authentication failed

回答 1 投票 0

如何在 Jersey 中处理 HeaderValueException

我们有 Jersey + Spring 的 REST 端点,当我们使用格式错误的标头值向端点发出请求时。例如接受:application/json/foobar 带有 HeaderValueException 的异常...

回答 1 投票 0

Glassfish6 WAR 模块尽管有 @WebService 注释,但无法作为 ejb、web、webservice 启动

我正在为我为 Glassfish6 开发的 SOAP API 创建 REST 相邻(即 HTTP 方法实现,但不是实际的 REST 结构)API 包装器。在开发这个的过程中,我...

回答 1 投票 0

WebSockets:通过 ELB 从客户端到 Amazon AWS EC2 实例的 wss

如何通过 ELB 通过 ssl 连接到 Amazon AWS EC2 实例上 GlassFish 提供的 Websocket? 我在 GlassFish 4.1 b13 预发行版中使用 Tyrus 1.8.1 作为我的 websocket 实现。 ...

回答 2 投票 0

Jakarta/Java EE 兼容性如何运作?

所以我试图了解哪些 JDK 版本与 Jakarta EE 9.1 兼容(使用 glassfish 6.1.0)。显然它支持 JDK 11,但在 NetBeans 中能够完美运行 GlassFish ...

回答 1 投票 0

Glassfish Tools 在 Eclipse 上安装

我无法在我的 Eclipse 上安装 Glassfish。我正在使用 Java 17(也尝试过 java 8)和 Eclipse 2023-6。我希望在服务器列表中看到 Glassfish 以及 Apache、IBM、Resin 等。 我有

回答 1 投票 0

使用 glassfish 从 WSDL(来自 Microarea 的意大利 ERP Mago4)生成 Java 工件时出现问题

我已经使用 Microarea 的意大利 ERP Mago4 公开的 Web 服务几年了,来自我的 java 程序。 我正在尝试扩展使用,但 WSDL 似乎有问题。 详细一点,

回答 1 投票 0

握手期间WebSocket错误意外代码200

我一直使用 GlassFish 4 作为我的服务器。 我正在使用以下语句打开 WebSocket 连接: webSocket = new WebSocket(链接); 在哪里: 链接 = 'ws://localhost:8080/CollabEdit/Document/file333B1...

回答 1 投票 0

Payara (glassfish) 管理控制台卡在加载状态

我正在尝试通过 http://localhost:4848/ 访问 Payara 管理控制台,但打开链接后,窗口永远不会超出显示“管理控制台正在启动”的屏幕。请稍等。它...

回答 4 投票 0

为 glassfish 网络服务器缓存 css、js 和字体缓存的最佳方式

我有Glassfish网络服务器,我希望我的应用程序在客户端缓存文件,我尝试了多种方法,但它对任何方法都不起作用,并且某些方法使用不在我的c中的apache网络服务器...

回答 1 投票 0

GC 的 Glassfish JVM 设置

我正在 glassfish 服务器上运行一个应用程序,并且有以下 JVM 设置(我认为与我的问题相关): -Xmx512m -XX:NewRatio=2 -XX:+UseParallelOldGC -XX:+UseParallelGC all

回答 2 投票 0

NoClassDefFoundError:无法初始化类

我正在使用 OpenSAML API 开发身份提供商。 我创建了一个 java 应用程序来测试 OpenSAML API,结果很成功。 问题是现在我正在尝试在

回答 3 投票 0

Intellij 2019.2:GlassFish 需要 Java SE 版本 6。您的 JDK 是版本 0

我正在使用 IntelliJ 2019.2,无法启动 Glassfish Server 4.1.2(完整平台)。我找到了一些针对此错误的解决方案建议,但没有一个对我有用,例如这篇文章或这个

回答 6 投票 0

在 Payara 服务器上运行应用程序会抛出“VM 初始化期间发生错误”

我是一名初级开发人员,这是我的第一个问题,如果我写错了,抱歉。 我目前正在更新最初使用 Java 8、JavaEE6、ANT、Microsoft SQL Server 和

回答 1 投票 0

Glassfish 部署异常

我正在 Glasfish 应用服务器上开发 JavaEE 应用程序。我正在开发,所以我不断部署/取消部署应用程序。 一切都很顺利,直到几个小时前我......

回答 1 投票 0

MysqlDataSource 和 MysqlConnectionPoolDataSource 有什么区别?

我正在应用程序服务器中配置mysql连接(特别是glassfish,但我也对其他应用程序服务器感到好奇),似乎有2个极其相似的选项...

回答 2 投票 0

通过 JMX 监控 Glassfish 4 中的 HTTP 侦听器

我需要编写一个java监视器,作为Linux服务运行,以监视Glassfish 4(非常旧的版本)中http侦听器的状态。我的想法是能够通过 JMX 找到这些信息。通过

回答 1 投票 0

什么可能导致 glassfish 7 上出现无效的 URLPatternSpec 异常以及如何修复它?

[2024-02-09T18:49:24.885241Z] [GF 7.0.11] [严重] [] [com.sun.web.security.RealmAdapter] [tid: _ThreadID=30 _ThreadName=http-listener-1 (3)] [等级值:1000] [[ 认证通过,但是授权...

回答 1 投票 0

无法更改Payara服务器上的日志记录级别log4j

我想更改 log4j 的日志记录级别而不在 Payara 服务器上重新部署。 我转到 /opt/payara/payara5.2022.5/glassfish/domains/DEV01/applications/myapp 然后找到 log4j.properties 文件。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.