在不修改的情况下配置基本身份验证。war
Configure Basic Authentication without modifying .war
我们正在 tomcat 的 webapps 文件夹中部署两个 war 文件,比方说 public.war 和 private.war
我们只想为 private.war(不是所有已部署的 war 文件)设置 HTTP 基本身份验证,但似乎我们必须在展开的 /webapps/private/WEB-INF/web 中配置它.xml(或修改 war 本身),我们希望避免这种情况。
原因是我们正在从第 3 方来源检索 private.war,如果有人将其更新到最新版本,我们对 web.xml 的更改将被覆盖(对吗?)。
有没有一种方法可以在 Tomcat 中仅针对一个特定的上下文路径启用基本身份验证,比如 conf/web.xml 或其他文件?
我们特别希望避免修改已部署(或分解)的 war 文件。
您可以在 $CATALINA_HOME/conf/context.xml 中添加一个配置并在其中添加一个环境,并在您的源代码或 war 文件中的配置文件中将其用作引用 bean,例如:
context.xml:
<Context>
...
<Environment name="username" value="admin"
type="java.lang.String"/>
...
</Context>
security.xml(在您的 war 文件中):
<bean>
id="AuthenticationService"
class="com.core.auth.AuthenticationService">
<property name="username" >
<ref bean="username"/>
</property>
</bean>
Is there a way to enable Basic Authentication in Tomcat just for one specific context-path
事实上,您需要修改应用程序配置(实际上是 war 文件或已部署的文件)。
We would especially like to avoid modifying the deployed (or exploded) war file
如果你有反向代理(apache httpd、nginx),我建议你强制执行基本身份验证
我们正在 tomcat 的 webapps 文件夹中部署两个 war 文件,比方说 public.war 和 private.war
我们只想为 private.war(不是所有已部署的 war 文件)设置 HTTP 基本身份验证,但似乎我们必须在展开的 /webapps/private/WEB-INF/web 中配置它.xml(或修改 war 本身),我们希望避免这种情况。
原因是我们正在从第 3 方来源检索 private.war,如果有人将其更新到最新版本,我们对 web.xml 的更改将被覆盖(对吗?)。
有没有一种方法可以在 Tomcat 中仅针对一个特定的上下文路径启用基本身份验证,比如 conf/web.xml 或其他文件?
我们特别希望避免修改已部署(或分解)的 war 文件。
您可以在 $CATALINA_HOME/conf/context.xml 中添加一个配置并在其中添加一个环境,并在您的源代码或 war 文件中的配置文件中将其用作引用 bean,例如:
context.xml:
<Context>
...
<Environment name="username" value="admin"
type="java.lang.String"/>
...
</Context>
security.xml(在您的 war 文件中):
<bean>
id="AuthenticationService"
class="com.core.auth.AuthenticationService">
<property name="username" >
<ref bean="username"/>
</property>
</bean>
Is there a way to enable Basic Authentication in Tomcat just for one specific context-path
事实上,您需要修改应用程序配置(实际上是 war 文件或已部署的文件)。
We would especially like to avoid modifying the deployed (or exploded) war file
如果你有反向代理(apache httpd、nginx),我建议你强制执行基本身份验证