Glassfish:如何更改WAR-app的安全领域

时间:2010-07-08 11:04:18

标签: java-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>

但由于我有一个网络应用程序,我无法使用它,至少在部署应用程序时不会(因为我的应用程序未配置EAR部署而收到错误) 我可以在sun-web.xml中声明默认安全领域吗?我也找不到Glassfish-admin界面中的选项,或者我是否想念它?

1 个答案:

答案 0 :(得分:4)

刚刚发现我必须在我的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>

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