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

目前我正在尝试使用基于JDBC的安全领域来配置登录。 现在我不知道如何配置我的战争应用程序,不要使用默认的glassfish安全领域(文件),而是使用我的新创建的jdbc-realm。 我知道如何在耳机应用程序中进行,在那里您可以将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-admin-interface中找不到一个选项,或者我错过了它吗?

有帮助吗?

解决方案

刚刚发现我必须将以下行添加到我的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>
.

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top