猿问

JBoss EAP 6.2:war 文件的 Exchange 验证方法

我为在 JBoss EAP 6.2 上运行的两个客户提供了一个应用程序(打包为 war)。其中之一使用基本 JBoss 身份验证,另一个使用 Keycloak 身份验证提供程序。


两个 war 文件完全相同,只有一个区别:WEB-INF/web.xml 包含


<login-config>

    <auth-method>BASIC</auth-method>

    <realm-name>ApplicationRealm</realm-name>

</login-config>

分别


<login-config>

    <auth-method>keycloak</auth-method>

    <realm-name>application</realm-name>

</login-config>

我想防止构建两个不同的 war 文件(因为 web.xml 在 war 文件中)所以我想知道如何在 JBoss 配置中而不是在 web.xml 中配置这些行。


MYYA
浏览 135回答 1
1回答

萧十郎

您可以定义login-config如下:<login-config>&nbsp; &nbsp; <auth-method>${authentication.method}</auth-method>&nbsp; &nbsp; <realm-name>${authentication.realm}</realm-name></login-config>然后在应用程序服务器启动时将这些参数作为系统属性传递:-Dauthentication.method=BASIC -Dauthentication.realm=ApplicationRealm但您应该记住,默认情况下 WildFly/JBoss 不会替换部署描述符中的变量。您应该在子系统下的服务器配置中明确启用此选项ee。在WildFly 13.0.0.Final中是这样的:<subsystem xmlns="urn:jboss:domain:ee:4.0">&nbsp; &nbsp; <spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>&nbsp; &nbsp; <!-- remaining of the configurations --></subsystem>
随时随地看视频慕课网APP

相关分类

Java
我要回答