我正在构建一个在 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/