0

我的应用程序使用 Tomcat Embedded 公开 Web 应用程序。
它使用用户名和密码身份验证进行保护。从我的 web.xml

<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>BMC Application Diagnostics Portal Console</realm-name>
</login-config>

我正在实现自己的领域,并在我的 Tomcat 实例中对其进行配置:

_tomcat.setDefaultRealm(new MyRealm());

一切正常,直到我不得不升级 tomcat 的版本(最低到 7.0.30)。升级 tomcat-embed-core.jar 和 tomcat-embed-jasper.jar 后,我无法访问我的 Web 应用程序。
身份验证窗口弹出,我插入我的用户名和密码,但它无法登录(似乎用户名\密码不正确的行为)。
我没有改变我的代码!如果我将罐子换回 7.0.22 一切正常。

顺便说一句,不推荐使用setDefaultRealm(),我不知道它是否有帮助。

如果有人以前遇到过这个问题,或者知道如何处理这个问题,那就太好了。

谢谢

4

1 回答 1

0

在这里找到了答案。从7.0.24版本开始,Realm应该设置为Engine,如下:

_tomcat.getEngine().setRealm(new MyRealm());
于 2013-04-08T20:06:31.730 回答