在同一个 Tomcat 上下文配置中是否可以有多个身份验证器阀门?我知道您可以通过 拥有多个领域CombinedRealm
,但是不同的身份验证方法呢?
我必须更新一个 Web 应用程序,以便它可以使用新的身份验证源,同时仍然使用旧的身份验证源来回退。
这是我目前在应用程序的 context.xml 中的内容:
<Context path="/myApp">
<Valve className="com.company.NewAuthenticator"/>
<Valve className="com.company.LegacyAuthenticator"/>
<!-- Dummy realm to prevent pop-up window -->
<Realm className="com.company.DummyRealm"/>
</Context>
似乎NewAuthenticator
拒绝了用户的请求,LegacyAuthenticator
从未调用过。我想这是预期的行为,但有没有另一种方法可以做到这一点?
细节:
- 雄猫 6.0
- 我必须使用 Authtenticators,因为两个自定义系统都在 HTTP 请求中设置了确定身份验证成功/失败的值,并且我需要创建自定义 Tomcat 安全主体来存储角色。
- 两种身份验证源都是自定义的和非标准的。我必须编写自己的身份验证器。