jakarta-ee - Glassfish:如何更改 WAR 应用程序的安全领域

标签 jakarta-ee glassfish java-ee-6 glassfish-3

我正在构建一个在 Glassfish v3.0.1 上运行的 JEE6 应用程序。它是一个带有 EJB 的 Web 应用程序,部署为 WAR (EJB 3.1)。

目前我正在尝试使用基于 JDBC 的安全领域来配置登录。 现在我不知道如何配置我的 WAR 应用程序以不使用默认的 Glassfish 安全领域(文件),而是使用我新创建的 JDBC 领域。 我知道如何在 EAR 应用程序中执行此操作,您可以将 sun-application.xml 与应用程序一起部署,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-application PUBLIC '-//Sun Microsystems, Inc.//DTD 
Application Server 9.0 Java EE Application 5.0//EN' 
'http://www.sun.com/software/appserver/dtds/sun-application_5_0-0.dtd'>
<sun-application>
   <realm>jdbc</realm>
</sun-application>

但是由于我有一个 Web 应用程序,所以我无法使用它,至少在部署应用程序时不能使用它(我收到错误,因为我的应用程序未配置为 EAR 部署) 我可以在 sun-web.xml 中声明默认安全领域吗?我在 Glassfish 管理界面中也找不到选项,还是我错过了它?

最佳答案

刚刚发现我必须将以下行添加到我的 web.xml 中才能更改领域:

<login-config>
  <auth-method>BASIC</auth-method>
  <realm-name>jdbc</realm-name>
</login-config>

<security-role>
  <description />
  <role-name>STUDENT</role-name>
</security-role>

默认领域也可以在管理菜单中直接在“安全”部分中设置(我如何监督...)

关于jakarta-ee - Glassfish:如何更改 WAR 应用程序的安全领域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3202894/

相关文章:

java - java/grails中的服务器端网络打印

jakarta-ee - 消息驱动的 Bean 是否需要激活规范?

具有分离的前端和后端的 Maven JavaEE 应用程序

java - 使用装饰器时未注入(inject) SessionContext

java - Mac 上 Eclipse 上的 Glassfish

java - 为什么当有很多请求时应用程序会挂起?

java - org.glassfish.jersey.internal.RuntimeDelegateImpl 未找到

maven - 无法在我的 Maven 项目中使用依赖项 jboss-javaee-6.0

java - jetty 8 + EJB 3.1 + JTA + CDI + JPA 2 堆栈?

Java EE 6 安全和重定向