gpt4 book ai didi

基于 Tomcat 表单的身份验证不保护 catalina.out 登录到浏览器

转载 作者:行者123 更新时间:2023-11-28 22:16:35 28 4
gpt4 key购买 nike

我的两部分目标是:
1.记录Tomcat的日志(例如catalina.out到浏览器)-成功
2. 要求对这些日志文件进行身份验证 - 不成功

以下更改后第 1 部分成功:

Add file tomcat/conf/Catalina/localhost/logs.xml

With the following configuration:

<Context override="true" docBase="/opt/tomcat/logs" path="/logs" />

可以看到日志路径: http://www.domainname.com/logs/catalina.out

进行以下配置更改后,第 2 部分未成功。该文件不受浏览器中基于表单的身份验证的保护(即访问 http://www.domainname.com/logs/catalina.out 时没有重定向登录)。

根本原因是日志目录的相对上下文吗?

以下是我所做的配置更改:

2A. Within tomcat/conf/tomcat-users.xml

Add the following configuration:

<role rolename="role1"/>
<user username="roleUser1" password="PASSWORD" roles="role1"/>

2B. Within tomcat/conf/web.xml

Add the following configuration:

<security-constraint>
<display-name>Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Profile Area</web-resource-name>
<url-pattern>/logs/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>role1</role-name>
</auth-constraint>
</security-constraint>

<login-config>
<auth-method>FORM</auth-method>
<realm-name>Form-Based Authentication Area</realm-name>
<form-login-config>
<form-login-page>/loginPage</form-login-page>
<form-error-page>/errorPage</form-error-page>
</form-login-config>
</login-config>

<security-role>
<role-name>role1</role-name>
</security-role>

最佳答案

您的应用程序上下文路径是 /logs , 所以你的 <url-pattern>应设置为 *而不是 /logs/* .

为什么不保护整个 URL 空间呢?这应该是 100% 的行政申请。

编辑 2018-08-27

不要修改 Tomcat 的 conf/web.xml 非常重要。这是服务器上所有 Web 应用程序 的默认部署描述符。它不是某种涵盖整个服务器的配置。所以,试图保护/logs从那里实际上保护了 URL 前缀 /logs/*在每个应用程序中分开,而不是您决定放在 /logs 下的单个应用程序.

相反,您应该修改应用程序的 WEB-INF/web.xml部署描述符。

所以,回去恢复Tomcat的conf/web.xml到它的原始状态,然后将您的自定义配置放入 /logs应用程序本身。我不会使用 /opt/tomcat/logs作为 docBase为申请。相反,我会部署 logs应用到webapps像往常一样,并将其配置为使用 /opt/tomcat/logs作为只读 resource (尝试使用 PreResources )。

关于基于 Tomcat 表单的身份验证不保护 catalina.out 登录到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45900230/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com