我的应用程序使用Tomcat Embedded公开Web应用程序 它使用用户名和密码验证进行保护。来自我的web.xml
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>BMC Application Diagnostics Portal Console</realm-name>
</login-config>
我正在实现我自己的Realm,我正在我的Tomcat实例中配置它:
_tomcat.setDefaultRealm(new MyRealm());
一切正常,直到我不得不升级tomcat的版本(至少达到7.0.30)。升级tomcat-embed-core.jar和tomcat-embed-jasper.jar后,我无法访问我的Web应用程序。
弹出认证窗口,我插入了我的用户名和密码,但登录失败(似乎是用户名\密码不正确的行为)
我的代码中没有改变任何内容!如果我将罐子换回7.0.22,一切正常。
BTW,setDefaultRealm()已被弃用,我不知道是否有帮助。
如果有人之前遇到过这个问题,或者想知道如何解决这个问题,那就太棒了。
由于
答案 0 :(得分:0)
找到答案here。由于版本7.0.24 Realm应设置为Engine,如下所示:
_tomcat.getEngine().setRealm(new MyRealm());