在不修改 .war 的情况下配置基本身份验证



我们在tomcat的webapps文件夹中部署了两个war文件,比如public.war和private.war

我们只想为 private.war 设置 HTTP 基本身份验证(不是所有已部署的战争文件(,但似乎我们必须在分解的/webapps/private/WEB-INF/web.xml 中配置它(或修改 war itseld(,我们希望避免这种情况。

这样做的原因是我们正在从第三方来源检索private.war,例如,如果有人将其更新到最新版本,我们对web.xml所做的更改将被覆盖(对吗?

有没有办法在 Tomcat 中仅为一个特定的上下文路径启用基本身份验证 - 比如 conf/web.xml 或其他文件?

我们特别希望避免修改已部署(或分解(的战争文件。

有没有办法在Tomcat中仅为一个特定的上下文路径启用基本身份验证

实际上,为此,您需要修改应用程序配置(实际上是 WAR 文件或已部署的文件(。

我们特别希望避免修改已部署(或爆炸(的战争文件

我建议您在反向代理(apache httpd,nginx(上强制执行基本身份验证(如果您有的话(

您可以在 $CATALINA_HOME/conf/context 中添加一个配置.xml并在其中添加一个环境,并在 war 文件中将其用作 ref bean,例如:

上下文.xml:

<Context>
  ...
  <Environment name="username" value="admin"
      type="java.lang.String"/>
  ...
</Context>

安全性.xml(在您的战争文件中(:

<bean>
id="AuthenticationService"
    class="com.core.auth.AuthenticationService">
    <property name="username" >
        <ref bean="username"/>
    </property>
</bean>

相关内容

  • 没有找到相关文章

最新更新