我的应用程序在 Glassfish 3.1 上运行,使用 jdbcRealm 进行身份验证和授权。我想将此应用程序移植到 JBoss 6。我可以在 JBoss 6 中创建一个 jdbcRealm,就像在 Glassfish3 中一样,映射到数据库中的 USER 表吗?我可以通过管理控制台进行操作吗?在 JBoss 中,我弄清楚如何创建数据库连接(只需创建数据源),但在 Glassfish 中,我还在 Glassfish 中设置了 JavaMail 会话 jndi, mail-host, transport protocol...,我也可以将其移植到 JBoss 吗?

有帮助吗?

解决方案

对您的问题的答复:

我可以在JBOSS 6中创建一个JDBCREALM,例如在Glassfish 3中将其映射到数据库中的用户表吗?

如果我理解正确的话,您使用数据库来验证用户身份吗?

您可以在 JBoss 中定义类似的东西。最简单的方法是将适当的安全域定义添加到 conf/login-config.xml 文件。

它可以看起来像这样:

<application-policy name="database-domain">
  <authentication>
    <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required">
      <module-option name="dsJndiName">java:/yourDataSource</module-option>
      <module-option name="principalsQuery">select password from users where userid = ?</module-option>
      <module-option name="rolesQuery">select role, 'Roles' from roles where userid = ?</module-option>
    </login-module>
  </authentication>
</application-policy>

您还应该创建适当的数据源并将数据库库放入 lib 目录。

我可以通过管理控制台进行操作吗?

我不知道是否可以使用网络控制台进行这些更改。

在JBOSS中,我弄清楚如何创建数据库连接(仅通过创建数据源),但是在Glassfish中,我还在Glassfish中设置了Jndi,Mail-Host,Mail-Host,Transport Protocals的Javamail Sessions ...我可以将其移交给JBOSS出色地?

JBoss使用默认数据库来存储一些信息。如果您想改变这一点,最简单的方法是使用以下命令定义新的数据源 DefaultDS 命名并删除 deploy/hsqldb-ds.xml 文件。

在 JBoss 6 中,他们更改了 JMS 提供程序,并且还使用自己的数据库来存储一些信息,但我不知道是否以及如何更改它。

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