代码之家  ›  专栏  ›  技术社区  ›  Wolkenarchitekt

Glassfish:如何改变WAR应用程序的安全领域

  •  2
  • Wolkenarchitekt  · 技术社区  · 14 年前

    我正在构建一个在Glassfish v3.0.1上运行的JEE6应用程序。它是一个带有EJB的web应用程序,部署为WAR(ejb3.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部署)

    1 回复  |  直到 14 年前
        1
  •  4
  •   Wolkenarchitekt    14 年前

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

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

    推荐文章