繁体   English   中英

Tomcat 6下特定于Web应用程序的表单身份验证器

[英]Web application specific form authenticator under Tomcat 6

在您的帮助下,我已经成功解决了我在这里提出的一个问题。 我为Web应用程序开发了一个自定义Tomcat身份验证器,当前该身份验证器及其配置文件位于%CATALINA_HOME%\\lib\\目录中。 不幸的是,身份验证器配置文件几乎是为身份验证器开发的Web应用程序配置文件(位于%CATALINA_HOME%\\webapps\\myapp )的重复,并且显然,这两个配置文件共享相同的数据库连接设置。 这很不方便,因为共享唯一的配置文件是最好的。

我认为可能有两种方法可以解决此问题:

  1. 在Tomcat启动时以某种方式找到myapp存在的webapps目录,然后读取应用程序配置文件(根据当前情况进行,并且myapp\\WEB-INF\\web.xml正确配置)。 当然,不幸的是,这需要重新启动Tomcat。
  2. 可能存在一种将表单验证器放入相应的Web应用程序目录中的方法,以便能够直接读取共享配置文件。 也许这可以消除Tomcat重新启动并允许简单的重新部署。

如果可能的话,我想使用第二种解决方案,但是我不确定。 如果两者都存在,哪种方法更好? 还是有其他任何甚至更好的解决方案不将Web应用程序特定的身份验证器放入%CATALINA_HOME\\lib%

在此先感谢您,我的英语很抱歉。

您有一个代码重复的情况。

我建议重构代码,以便Tomcat将所有必需的代码都进行身份验证,然后重构您的应用程序以仅使用Tomcat身份验证代码。

如果您的应用程序无法使用Tomcat身份验证,则至少可以在Tomcat中向上移动通用代码(包括其配置文件),然后再使用通用代码。

啊,这一切都容易得多! 主要思想只是通过authenticate(...)(JDBCRealm) context.getRealm()对象获取连接字符串。 这足以解决我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM